Skip to content
This repository was archived by the owner on Aug 28, 2024. It is now read-only.

Commit

Permalink
Fixed a bunch of NetCDF fraggle stuff and now it compiles and doesn't…
Browse files Browse the repository at this point in the history
… crash!
  • Loading branch information
daminton committed Dec 10, 2022
1 parent 71e8c27 commit 05359b1
Showing 1 changed file with 32 additions and 31 deletions.
63 changes: 32 additions & 31 deletions src/fraggle/fraggle_io.f90
Original file line number Diff line number Diff line change
Expand Up @@ -64,52 +64,54 @@ module subroutine fraggle_io_initialize_output(self, param)
call check( nf90_def_var(nc%id, nc%stage_dimname, NF90_CHAR, nc%stage_dimid, nc%stage_varid), "fraggle_io_initialize nf90_def_var stage_varid" )

! Variables
call check( nf90_def_var(nc%id, nc%time_dimname, nc%out_type, &
nc%event_dimid, nc%time_varid), "fraggle_io_initialize nf90_def_var time_varid" )
call check( nf90_def_var(nc%id, nc%time_dimname, nc%out_type, &
nc%event_dimid, nc%time_varid), "fraggle_io_initialize nf90_def_var time_varid" )
call check( nf90_def_var(nc%id, nc%regime_varname, NF90_CHAR, &
[nc%str_dimid, nc%event_dimid], nc%regime_varid), "fraggle_io_initialize nf90_def_var regime_varid")
call check( nf90_def_var(nc%id, nc%Qloss_varname, NF90_CHAR, &
call check( nf90_def_var(nc%id, nc%Qloss_varname, NF90_CHAR, &
[ nc%event_dimid], nc%regime_varid), "fraggle_io_initialize nf90_def_var regime_varid")
call check( nf90_def_var(nc%id, nc%name_varname, NF90_CHAR, &
[nc%str_dimid, nc%id_dimid ], nc%name_varid), "fraggle_io_initialize nf90_def_var name_varid")
call check( nf90_def_var(nc%id, nc%name_varname, NF90_CHAR, &
[nc%str_dimid, nc%id_dimid ], nc%name_varid), "fraggle_io_initialize nf90_def_var name_varid")

call check( nf90_def_var(nc%id, nc%ptype_varname, NF90_CHAR, &
[nc%str_dimid, nc%id_dimid, nc%event_dimid], nc%ptype_varid), "fraggle_io_initialize nf90_def_var ptype_varid")

call check( nf90_def_var(nc%id, nc%loop_varname, NF90_INT, &
[ nc%event_dimid], nc%loop_varid), "fraggle_io_initialize nf90_def_var loop_varid")
call check( nf90_def_var(nc%id, nc%loop_varname, NF90_INT, &
[ nc%event_dimid], nc%loop_varid), "fraggle_io_initialize nf90_def_var loop_varid")

call check( nf90_def_var(nc%id, nc%rh_varname,nc%out_type,&
[ nc%space_dimid, nc%id_dimid, nc%stage_dimid, nc%event_dimid], nc%rh_varid), "fraggle_io_initialize nf90_def_var rh_varid")
call check( nf90_def_var(nc%id, nc%rh_varname, nc%out_type,&
[ nc%space_dimid, nc%id_dimid, nc%stage_dimid, nc%event_dimid], nc%rh_varid), "fraggle_io_initialize nf90_def_var rh_varid")

call check( nf90_def_var(nc%id, nc%vh_varname, nc%out_type,&
[ nc%space_dimid, nc%id_dimid, nc%stage_dimid, nc%event_dimid], nc%vh_varid), "fraggle_io_initialize nf90_def_var vh_varid")
call check( nf90_def_var(nc%id, nc%vh_varname, nc%out_type,&
[ nc%space_dimid, nc%id_dimid, nc%stage_dimid, nc%event_dimid], nc%vh_varid), "fraggle_io_initialize nf90_def_var vh_varid")

call check( nf90_def_var(nc%id, nc%Gmass_varname, nc%out_type,&
[ nc%id_dimid, nc%stage_dimid, nc%event_dimid], nc%Gmass_varid), "fraggle_io_initialize nf90_def_var Gmass_varid")
call check( nf90_def_var(nc%id, nc%Gmass_varname, nc%out_type,&
[ nc%id_dimid, nc%stage_dimid, nc%event_dimid], nc%Gmass_varid), "fraggle_io_initialize nf90_def_var Gmass_varid")


call check( nf90_def_var(nc%id, nc%radius_varname, nc%out_type,&
call check( nf90_def_var(nc%id, nc%radius_varname, nc%out_type,&
[ nc%id_dimid, nc%stage_dimid, nc%event_dimid], nc%radius_varid), "fraggle_io_initialize nf90_def_var radius_varid")

call check( nf90_def_var(nc%id, nc%Ip_varname, nc%out_type,&
[ nc%space_dimid, nc%id_dimid, nc%stage_dimid, nc%event_dimid], nc%Ip_varid), "fraggle_io_initialize nf90_def_var Ip_varid")
call check( nf90_def_var(nc%id, nc%Ip_varname, nc%out_type,&
[ nc%space_dimid, nc%id_dimid, nc%stage_dimid, nc%event_dimid], nc%Ip_varid), "fraggle_io_initialize nf90_def_var Ip_varid")

call check( nf90_def_var(nc%id, nc%rot_varname, nc%out_type,&
[ nc%space_dimid, nc%id_dimid, nc%stage_dimid, nc%event_dimid], nc%rot_varid), "fraggle_io_initialize nf90_def_var rot_varid")
call check( nf90_def_var(nc%id, nc%rot_varname, nc%out_type,&
[ nc%space_dimid, nc%id_dimid, nc%stage_dimid, nc%event_dimid], nc%rot_varid), "fraggle_io_initialize nf90_def_var rot_varid")

call check( nf90_def_var(nc%id, nc%ke_orb_varname, nc%out_type,&
[ nc%stage_dimid, nc%event_dimid], nc%KE_orb_varid), "netcdf_initialize_output nf90_def_var KE_orb_varid")
call check( nf90_def_var(nc%id, nc%ke_orb_varname, nc%out_type,&
[ nc%stage_dimid, nc%event_dimid], nc%KE_orb_varid), "fraggle_io_initialize_output nf90_def_var KE_orb_varid")

call check( nf90_def_var(nc%id, nc%ke_spin_varname, nc%out_type,&
[ nc%stage_dimid, nc%event_dimid], nc%KE_spin_varid), "netcdf_initialize_output nf90_def_var KE_spin_varid" )
[ nc%stage_dimid, nc%event_dimid], nc%KE_spin_varid), "fraggle_io_initialize_output nf90_def_var KE_spin_varid" )

call check( nf90_def_var(nc%id, nc%pe_varname,&
nc%out_type,&
[ nc%stage_dimid, nc%event_dimid], nc%PE_varid), "netcdf_initialize_output nf90_def_var PE_varid" )
call check( nf90_def_var(nc%id, nc%pe_varname, nc%out_type,&
[ nc%stage_dimid, nc%event_dimid], nc%PE_varid), "fraggle_io_initialize_output nf90_def_var PE_varid" )

call check( nf90_def_var(nc%id, nc%L_orb_varname, nc%out_type, &
[ nc%space_dimid, nc%stage_dimid, nc%event_dimid], nc%L_orb_varid), "netcdf_initialize_output nf90_def_var L_orb_varid" )
call check( nf90_def_var(nc%id, nc%L_orb_varname, nc%out_type, &
[ nc%space_dimid, nc%stage_dimid, nc%event_dimid], nc%L_orb_varid), "fraggle_io_initialize_output nf90_def_var L_orb_varid" )

call check( nf90_def_var(nc%id, nc%L_spin_varname, nc%out_type,&
[ nc%space_dimid, nc%stage_dimid, nc%event_dimid], nc%L_spin_varid), "netcdf_initialize_output nf90_def_var L_spin_varid" )
[ nc%space_dimid, nc%stage_dimid, nc%event_dimid], nc%L_spin_varid), "fraggle_io_initialize_output nf90_def_var L_spin_varid" )



Expand Down Expand Up @@ -157,7 +159,7 @@ module subroutine fraggle_io_write_frame(self, nc, param)
class(encounter_io_parameters), intent(inout) :: nc !! Parameters used to identify a particular encounter io NetCDF dataset
class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters
! Internals
integer(I4B) :: i, j, eslot, idslot, old_mode, npl
integer(I4B) :: i, eslot, idslot, old_mode, npl
character(len=NAMELEN) :: charstring

eslot = param%ioutput
Expand All @@ -172,14 +174,13 @@ module subroutine fraggle_io_write_frame(self, nc, param)

! Stage 1: The Colliders
npl = pl%nbody
do j = 1, npl
i = colliders%idx(j)
do i = 1, npl
idslot = pl%id(i)
call check( nf90_put_var(nc%id, nc%id_varid, pl%id(i), start=[ idslot ]), "fraggle_io_write_frame nf90_put_var id_varid" )
charstring = trim(adjustl(pl%info(i)%name))
call check( nf90_put_var(nc%id, nc%name_varid, charstring, start=[1, idslot], count=[NAMELEN, 1]), "fraggle_io_write_frame nf90_put_var name_varid" )
charstring = trim(adjustl(pl%info(i)%particle_type))
call check( nf90_put_var(nc%id, nc%ptype_varid, charstring, start=[1, idslot], count=[NAMELEN, 1]), "fraggle_io_write_frame nf90_put_var particle_type_varid" )
call check( nf90_put_var(nc%id, nc%ptype_varid, charstring, start=[1, idslot, eslot], count=[NAMELEN, 1, 1]), "fraggle_io_write_frame nf90_put_var particle_type_varid" )

call check( nf90_put_var(nc%id, nc%rh_varid, pl%rh(:,i), start=[1, idslot, 1, eslot], count=[NDIM,1,1,1]), "fraggle_io_write_frame nf90_put_var rh_varid" )
call check( nf90_put_var(nc%id, nc%vh_varid, pl%vh(:,i), start=[1, idslot, 1, eslot], count=[NDIM,1,1,1]), "fraggle_io_write_frame nf90_put_var vh_varid" )
Expand Down

0 comments on commit 05359b1

Please sign in to comment.