Fixed missing xios function in interface
10 lines of code changed in 2 files:
Offload post-processing to XIOS
use expressions in .xml files to offload computations previously done in phys_output_write to XIOS
696 lines of code changed in 8 files:
Store `delta_sal` instead of `s_int`
Revision analoguous to revision [3744], for salinity. Store as a state
variable and send to the ocean `delta_sal`, the difference between
ocean-air interface salinity and bulk salinity, instead of `s_int`,
the interface salinity.
So replace dummy argument `s_int` of procedure `cpl_send_ocean_fields`
by dummy argument `delta_sal`. Replace dummy argument `s_int` of
procedures `ocean_cpl_noice` and `surf_ocean` by dummy argument
`delta_sal`. Replace variable `s_int` of module `phys_state_var_mod`
by variable `delta_sal`. Rename local variable `ys_int` of procedure
`pbl_surface` to `ydelta_sal`. Set variable `delta_sal` of module
`phys_state_var_mod` to 0 for an appearing ocean fraction and a
missing startup field. Replace variable `o_s_int` of module
`phys_output_ctrlout_mod` by variable `o_delta_sal`.
Rename variables `cpl_s_int` and `cpl_s_int_2D` of module `cpl_mod` to
`cpl_delta_sal` and `cpl_delta_sal_2D`. Rename variable `ids_s_int` of
module oasis to `ids_delta_sal`. Change `infosend(ids_delta_sal)%name`
to "CODELSSS".
74 lines of code changed in 10 files:
Bug fix: read before `close_startphy`
Bug fix: in procedure phyetat0, read `s_int`, `delta_sst`, `ds_ns` and
`dt_ns` before the call to `close_startphy`.
17 lines of code changed in 1 file:
Use `cvl_comp_threshold` to control whether to use compression or not
cvl_comp_threshold now defaults to 0 (never compress)
17 lines of code changed in 3 files:
Removed some timers in cv3a_driver
3 lines of code changed in 1 file:
Use `cvl_comp_threshold` to control whether to use compression or not
cvl_comp_threshold now defaults to 0 (never compress)
0 lines of code changed in 1 file:
Remove useless zero-initializations
57 lines of code changed in 2 files:
Added a path to execute cv3a_driver without compression at all
+ fix : Compute coef_convective BEFORE cv3a_driver_compressed
280 lines of code changed in 1 file:
Moved compressed part of cv3a_driver to separate subroutine
264 lines of code changed in 1 file:
Use blocks to allocate compressed arrays to the right size
418 lines of code changed in 3 files:
Fixed array size in `cv3_tracer` to match compressed arrays
7 lines of code changed in 1 file:
Refactoring and cleaning cv3a_driver
505 lines of code changed in 3 files:
Create separate subroutines for cv3a_driver and cv4a_driver
1566 lines of code changed in 2 files:
The fraction of SW down radiation that is diffuse is extracted from radlwsw.F90 and passed on to pbl_surface for inclusion in fields_out for transfer to ORCHIDEE if it requested in input file coupling_fields.def. Hence there is nothing automatic here. The fraction of SW down radiation is also added as a diagnostic. To satisfy the case when this new quantity is used in ORCHIDEE, then it is added in the restart (and read in case it is there).
273 lines of code changed in 9 files:
Fixed compilation error without RRTM or without XIOS
11 lines of code changed in 2 files:
Fix conditional compilation to compile without XIOS
116 lines of code changed in 8 files:
Refactoring IOs : added new phys_output_write_xios with XIOS only
This is a combination of 9 commits.
Added phys_output_write_xios
Moved C preprocessing in phys_output_write_xios_mod to a separate file
Added iophy_xios
Removed non-xios code from phys_output_write_xios_mod
Add separate subroutine for debug prints
Cleaning and refactoring iophy_xios
Only one test for vars_defined
Check once for inactive xios fields
Fix bug
2109 lines of code changed in 6 files:
Fix conditional compilation to compile without XIOS
0 lines of code changed in 2 files:
Check if field is active before gather (static check)
Check is still performed at each timestep, but the static check is perfromed (at_current_timestep_arg=.false.). This should have less overhead because the static check is faster.
2 lines of code changed in 1 file:
Refactoring IOs : added new phys_output_write_xios with XIOS only
This is a combination of 9 commits.
Added phys_output_write_xios
Moved C preprocessing in phys_output_write_xios_mod to a separate file
Added iophy_xios
Removed non-xios code from phys_output_write_xios_mod
Add separate subroutine for debug prints
Cleaning and refactoring iophy_xios
Only one test for vars_defined
Check once for inactive xios fields
Fix bug
0 lines of code changed in 2 files:
Check if field is active before omp_gather (dynamic check)
At each timestep and for every field xios_field_is_active( <field>, at_current_timestep_arg=.true.) is called
0 lines of code changed in 1 file:
Optimize gather_omp_r*
0 lines of code changed in 1 file:
Added getin parameter to enable/disable profiling
64 lines of code changed in 2 files:
Check if field is active before omp_gather (dynamic check)
At each timestep and for every field xios_field_is_active( <field>, at_current_timestep_arg=.true.) is called
0 lines of code changed in 1 file:
Optimize gather_omp_r*
0 lines of code changed in 1 file:
Added getin parameter to enable/disable profiling
0 lines of code changed in 1 file:
Correcting initialisation of missing_val for the computation of wind100m
Then other initialisations lower down in the code are removed.
4 lines of code changed in 1 file:
Bug fix: revert revision [3601]
Bug fix: revert revision [3601]. Procedure `phys_output_write` is
called a first time by `physiq` before the call to phyetat0, so before
ftsoil is allocated. So we cannot reference `ftsoil(:, nsoilmx,
is_ter)` in `phys_output_write`.
3 lines of code changed in 2 files:
Fixed undefined reference to omp_get_team_size in physics timers
7 lines of code changed in 1 file:
Store `delta_sst` instead of `sst_nff`
Store as a state variable the difference between ocean-air interface
temperature and bulk SST instead of `sst_nff`, which can be either
interface temperature or bulk SST. This is clearer. Also, it is
analoguous to what we will do with salinity.
So replace the two dummy arguments `tsurf_in` and `sst_nff` of
procedure `cpl_send_ocean_fields` by a single dummy argument
`delta_sst`. Replace dummy argument `sst_nff` of procedures
`ocean_cpl_noice` and `surf_ocean` by dummy argument
`delta_sst`. Replace variable `sst_nff` of module `phys_state_var_mod`
by variable `delta_sst`. Rename local variable `ysst_nff` of procedure
`pbl_surface` to `ydelta_sst`. Set variable `delta_sst` of module
`phys_state_var_mod` to 0 for an appearing ocean fraction and a
missing startup field. Replace variable `o_sst_nff` of module
`phys_output_ctrlout_mod` by variable `o_delta_sst`.
Rename variables `cpl_delta_temp` and `cpl_delta_temp_2D` of module
`cpl_mod` to `cpl_delta_sst` and `cpl_delta_sst_2D`, clearer. Rename
variable `ids_delta_temp` of module oasis to `ids_delta_sst`. Change
`infosend(ids_delta_temp)%name` to "CODELSST".
61 lines of code changed in 10 files: