Skip to content

Commit 4c009fd

Browse files
committed
Add parallel I/O output module implementation
1 parent 96ec640 commit 4c009fd

21 files changed

Lines changed: 6018 additions & 5209 deletions

CMakeLists.txt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,14 +283,15 @@ else()
283283
src/offline/cable_abort.F90
284284
src/offline/cable_checks.F90
285285
src/offline/cable_cru_TRENDY.F90
286+
src/offline/cable_diagnostics_casa.F90
287+
src/offline/cable_diagnostics.F90
286288
src/offline/cable_driver_common.F90
287289
src/offline/cable_initialise.F90
288290
src/offline/cable_input.F90
289291
src/offline/cable_metutils.F90
290292
src/offline/cable_mpi_stub_types.F90
291293
src/offline/cable_mpi.F90
292294
src/offline/cable_namelist_input.F90
293-
src/offline/cable_output.F90
294295
src/offline/cable_parameters.F90
295296
src/offline/cable_pft_params.F90
296297
src/offline/cable_plume_mip.F90
@@ -299,7 +300,6 @@ else()
299300
src/offline/cable_serial.F90
300301
src/offline/cable_soil_params.F90
301302
src/offline/cable_weathergenerator.F90
302-
src/offline/cable_write.F90
303303
src/offline/casa_cable.F90
304304
src/offline/cbl_model_driver_offline.F90
305305
src/offline/landuse_inout.F90
@@ -308,11 +308,20 @@ else()
308308
src/util/cable_climate_type_mod.F90
309309
src/util/masks_cbl.F90
310310
src/util/cable_array_utils.F90
311+
src/util/cable_grid_reductions.F90
312+
src/util/cable_timing.F90
311313
src/util/netcdf/cable_netcdf_decomp_util.F90
312314
src/util/netcdf/cable_netcdf.F90
313315
src/util/netcdf/cable_netcdf_init.F90
314316
src/util/netcdf/cable_netcdf_stub_types.F90
315317
src/util/netcdf/nf90/cable_netcdf_nf90.F90
318+
src/util/output/cable_output_decomp.F90
319+
src/util/output/cable_output_define.F90
320+
src/util/output/cable_output_impl.F90
321+
src/util/output/cable_output_internal.F90
322+
src/util/output/cable_output_reduction_buffers.F90
323+
src/util/output/cable_output_write.F90
324+
src/util/output/cable_output.F90
316325
)
317326

318327
target_link_libraries(cable_common PRIVATE PkgConfig::NETCDF)

src/offline/cable_abort.F90

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@ MODULE cable_abort_module
3737
! open_met_file
3838
! get_met_data
3939
! load_parameters
40-
! open_output_file
41-
! write_output
4240
! read_gridinfo
4341
! countpatch
4442
! get_type_parameters
@@ -47,16 +45,6 @@ MODULE cable_abort_module
4745
! readpar_rd
4846
! readpar_r2
4947
! readpar_r2d
50-
! define_output_variable_r1
51-
! define_output_variable_r2
52-
! define_output_parameter_r1
53-
! define_output_parameter_r2
54-
! write_output_variable_r1
55-
! write_output_variable_r2
56-
! write_output_parameter_r1
57-
! write_output_parameter_r1d
58-
! write_output_parameter_r2
59-
! write_output_parameter_r2d
6048
!
6149
!==============================================================================
6250

@@ -83,26 +71,12 @@ END SUBROUTINE abort
8371
! get_met_data
8472
! close_met_file
8573
! load_parameters
86-
! open_output_file
87-
! write_output
88-
! close_output_file
89-
! create_restart
9074
! read_gridinfo
9175
! readpar_i
9276
! readpar_r
9377
! readpar_rd
9478
! readpar_r2
9579
! readpar_r2d
96-
! define_output_variable_r1
97-
! define_output_variable_r2
98-
! define_output_parameter_r1
99-
! define_output_parameter_r2
100-
! write_output_variable_r1
101-
! write_output_variable_r2
102-
! write_output_parameter_r1
103-
! write_output_parameter_r1d
104-
! write_output_parameter_r2
105-
! write_output_parameter_r2d
10680
!
10781
! MODULEs used: netcdf
10882
!
@@ -130,9 +104,6 @@ END SUBROUTINE nc_abort
130104
! Purpose: Prints an error message and localisation information then stops the
131105
! code
132106
!
133-
! CALLed from: write_output_variable_r1
134-
! write_output_variable_r2
135-
!
136107
! MODULEs used: cable_def_types_mod
137108
! cable_IO_vars_module
138109
!

src/offline/cable_checks.F90

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ SUBROUTINE constant_check_range(soil, veg, ktau, met)
300300
! Commented ones in cable_def_types need to be checked
301301
! Commented ones here need to be range-specified
302302
! In future, it's better to have a callback for a derived type having both ranges and values
303-
! This also clashes with range checks in open_output_file
303+
! This also clashes with range checks in the output module
304304

305305
TYPE(soil_parameter_type), INTENT(IN) :: soil
306306
TYPE(veg_parameter_type), INTENT(IN) :: veg
@@ -467,9 +467,6 @@ END SUBROUTINE constant_check_range
467467
! to scrutinise balance in particular sections of the code - largely
468468
! for diagnostics/fault finding.
469469
!
470-
! CALLed from: write_output
471-
!
472-
!
473470
!==============================================================================
474471

475472
SUBROUTINE mass_balance(dels,ktau, ssnow,soil,canopy,met, &
@@ -561,8 +558,6 @@ END SUBROUTINE mass_balance
561558
! to scrutinise balance in particular sections of the code - largely
562559
! for diagnostics/fault finding.
563560
!
564-
! CALLed from: write_output
565-
!
566561
! MODULEs used: cable_data (inherited)
567562
!
568563
!==============================================================================

0 commit comments

Comments
 (0)