Skip to content

Commit

Permalink
Add chunk sizes for atmospheric file write.
Browse files Browse the repository at this point in the history
Fixes #689.
  • Loading branch information
GeorgeGayno-NOAA committed Sep 28, 2022
1 parent c774208 commit 2038e2e
Showing 1 changed file with 18 additions and 18 deletions.
36 changes: 18 additions & 18 deletions sorc/chgres_cube.fd/write_data.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1323,109 +1323,109 @@ subroutine write_fv3_atm_data_netcdf(localpet)
endif

!--- define field
error = nf90_def_var(ncid, 'geolon', NF90_FLOAT, (/dim_lon,dim_lat/), id_lon)
error = nf90_def_var(ncid, 'geolon', NF90_FLOAT, (/dim_lon,dim_lat/), id_lon, chunksizes=(/i_target_out,j_target_out/))
call netcdf_err(error, 'DEFINING GEOLON FIELD' )
error = nf90_put_att(ncid, id_lon, "long_name", "Longitude")
call netcdf_err(error, 'DEFINING GEOLON NAME' )
error = nf90_put_att(ncid, id_lon, "units", "degrees_east")
call netcdf_err(error, 'DEFINING GEOLON UNITS' )

error = nf90_def_var(ncid, 'geolat', NF90_FLOAT, (/dim_lon,dim_lat/), id_lat)
error = nf90_def_var(ncid, 'geolat', NF90_FLOAT, (/dim_lon,dim_lat/), id_lat, chunksizes=(/i_target_out,j_target_out/))
call netcdf_err(error, 'DEFINING GEOLAT FIELD' )
error = nf90_put_att(ncid, id_lat, "long_name", "Latitude")
call netcdf_err(error, 'DEFINING GEOLAT NAME' )
error = nf90_put_att(ncid, id_lat, "units", "degrees_north")
call netcdf_err(error, 'DEFINING GEOLAT UNITS' )

error = nf90_def_var(ncid, 'geolon_s', NF90_FLOAT, (/dim_lon,dim_latp/), id_lon_s)
error = nf90_def_var(ncid, 'geolon_s', NF90_FLOAT, (/dim_lon,dim_latp/), id_lon_s, chunksizes=(/i_target_out,jp1_target_out/))
call netcdf_err(error, 'DEFINING GEOLON_S FIELD' )
error = nf90_put_att(ncid, id_lon_s, "long_name", "Longitude_s")
call netcdf_err(error, 'DEFINING GEOLON_S NAME' )
error = nf90_put_att(ncid, id_lon_s, "units", "degrees_east")
call netcdf_err(error, 'DEFINING GEOLON_S UNITS' )

error = nf90_def_var(ncid, 'geolat_s', NF90_FLOAT, (/dim_lon,dim_latp/), id_lat_s)
error = nf90_def_var(ncid, 'geolat_s', NF90_FLOAT, (/dim_lon,dim_latp/), id_lat_s, chunksizes=(/i_target_out,jp1_target_out/))
call netcdf_err(error, 'DEFINING GEOLAT_S FIELD' )
error = nf90_put_att(ncid, id_lat_s, "long_name", "Latitude_s")
call netcdf_err(error, 'DEFINING GEOLAT_S NAME' )
error = nf90_put_att(ncid, id_lat_s, "units", "degrees_north")
call netcdf_err(error, 'DEFINING GEOLAT_S UNITS' )

error = nf90_def_var(ncid, 'geolon_w', NF90_FLOAT, (/dim_lonp,dim_lat/), id_lon_w)
error = nf90_def_var(ncid, 'geolon_w', NF90_FLOAT, (/dim_lonp,dim_lat/), id_lon_w, chunksizes=(/ip1_target_out,j_target_out/))
call netcdf_err(error, 'DEFINING GEOLON_W FIELD' )
error = nf90_put_att(ncid, id_lon_w, "long_name", "Longitude_w")
call netcdf_err(error, 'DEFINING GEOLON_W NAME' )
error = nf90_put_att(ncid, id_lon_w, "units", "degrees_east")
call netcdf_err(error, 'DEFINING GEOLON_W UNITS' )

error = nf90_def_var(ncid, 'geolat_w', NF90_FLOAT, (/dim_lonp,dim_lat/), id_lat_w)
error = nf90_def_var(ncid, 'geolat_w', NF90_FLOAT, (/dim_lonp,dim_lat/), id_lat_w, chunksizes=(/ip1_target_out,j_target_out/))
call netcdf_err(error, 'DEFINING GEOLAT_W FIELD' )
error = nf90_put_att(ncid, id_lat_w, "long_name", "Latitude_w")
call netcdf_err(error, 'DEFINING GEOLAT_W NAME' )
error = nf90_put_att(ncid, id_lat_w, "units", "degrees_north")
call netcdf_err(error, 'DEFINING GEOLAT_W UNITS' )

error = nf90_def_var(ncid, 'ps', NF90_FLOAT, (/dim_lon,dim_lat/), id_ps)
error = nf90_def_var(ncid, 'ps', NF90_FLOAT, (/dim_lon,dim_lat/), id_ps, chunksizes=(/i_target_out,j_target_out/))
call netcdf_err(error, 'DEFINING PS' )
error = nf90_put_att(ncid, id_ps, "coordinates", "geolon geolat")
call netcdf_err(error, 'DEFINING PS COORD' )

error = nf90_def_var(ncid, 'w', NF90_FLOAT, (/dim_lon,dim_lat,dim_lev/), id_w)
error = nf90_def_var(ncid, 'w', NF90_FLOAT, (/dim_lon,dim_lat,dim_lev/), id_w, chunksizes=(/i_target_out,j_target_out,lev_target/))
call netcdf_err(error, 'DEFINING W' )
error = nf90_put_att(ncid, id_w, "coordinates", "geolon geolat")
call netcdf_err(error, 'DEFINING W COORD' )

error = nf90_def_var(ncid, 'zh', NF90_FLOAT, (/dim_lon,dim_lat,dim_levp1/), id_zh)
error = nf90_def_var(ncid, 'zh', NF90_FLOAT, (/dim_lon,dim_lat,dim_levp1/), id_zh, chunksizes=(/i_target_out,j_target_out,levp1_target/))
call netcdf_err(error, 'DEFINING ZH' )
error = nf90_put_att(ncid, id_zh, "coordinates", "geolon geolat")
call netcdf_err(error, 'DEFINING ZH COORD' )

error = nf90_def_var(ncid, 't', NF90_FLOAT, (/dim_lon,dim_lat,dim_lev/), id_t)
error = nf90_def_var(ncid, 't', NF90_FLOAT, (/dim_lon,dim_lat,dim_lev/), id_t, chunksizes=(/i_target_out,j_target_out,lev_target/))
call netcdf_err(error, 'DEFINING T' )
error = nf90_put_att(ncid, id_t, "coordinates", "geolon geolat")
call netcdf_err(error, 'DEFINING T COORD' )

error = nf90_def_var(ncid, 'delp', NF90_FLOAT, (/dim_lon,dim_lat,dim_lev/), id_delp)
error = nf90_def_var(ncid, 'delp', NF90_FLOAT, (/dim_lon,dim_lat,dim_lev/), id_delp, chunksizes=(/i_target_out,j_target_out,lev_target/))
call netcdf_err(error, 'DEFINING DELP' )
error = nf90_put_att(ncid, id_delp, "coordinates", "geolon geolat")
call netcdf_err(error, 'DEFINING DELP COORD' )

do n = 1, num_tracers
if (localpet==0) print*, "write to file tracer ", trim(tracers(n))
error = nf90_def_var(ncid, tracers(n), NF90_FLOAT, (/dim_lon,dim_lat,dim_lev/), id_tracers(n))
error = nf90_def_var(ncid, tracers(n), NF90_FLOAT, (/dim_lon,dim_lat,dim_lev/), id_tracers(n), chunksizes=(/i_target_out,j_target_out,lev_target/))
call netcdf_err(error, 'DEFINING TRACERS' )
error = nf90_put_att(ncid, id_tracers(n), "coordinates", "geolon geolat")
call netcdf_err(error, 'DEFINING TRACERS COORD' )
enddo

if (use_thomp_mp_climo) then
error = nf90_def_var(ncid, 'ice_aero', NF90_FLOAT, (/dim_lon,dim_lat,dim_lev/), id_qnifa)
error = nf90_def_var(ncid, 'ice_aero', NF90_FLOAT, (/dim_lon,dim_lat,dim_lev/), id_qnifa, chunksizes=(/i_target_out,j_target_out,lev_target/))
call netcdf_err(error, 'DEFINING QNIFA' )
error = nf90_put_att(ncid, id_qnifa, "coordinates", "geolon geolat")
call netcdf_err(error, 'DEFINING QNIFA COORD' )

error = nf90_def_var(ncid, 'liq_aero', NF90_FLOAT, (/dim_lon,dim_lat,dim_lev/), id_qnwfa)
error = nf90_def_var(ncid, 'liq_aero', NF90_FLOAT, (/dim_lon,dim_lat,dim_lev/), id_qnwfa, chunksizes=(/i_target_out,j_target_out,lev_target/))
call netcdf_err(error, 'DEFINING QNWFA' )
error = nf90_put_att(ncid, id_qnwfa, "coordinates", "geolon geolat")
call netcdf_err(error, 'DEFINING QNWFA COORD' )
endif

error = nf90_def_var(ncid, 'u_w', NF90_FLOAT, (/dim_lonp,dim_lat,dim_lev/), id_u_w)
error = nf90_def_var(ncid, 'u_w', NF90_FLOAT, (/dim_lonp,dim_lat,dim_lev/), id_u_w, chunksizes=(/ip1_target_out,j_target_out,lev_target/))
call netcdf_err(error, 'DEFINING U_W' )
error = nf90_put_att(ncid, id_u_w, "coordinates", "geolon_w geolat_w")
call netcdf_err(error, 'DEFINING U_W COORD' )

error = nf90_def_var(ncid, 'v_w', NF90_FLOAT, (/dim_lonp,dim_lat,dim_lev/), id_v_w)
error = nf90_def_var(ncid, 'v_w', NF90_FLOAT, (/dim_lonp,dim_lat,dim_lev/), id_v_w, chunksizes=(/ip1_target_out,j_target_out,lev_target/))
call netcdf_err(error, 'DEFINING V_W' )
error = nf90_put_att(ncid, id_v_w, "coordinates", "geolon_w geolat_w")
call netcdf_err(error, 'DEFINING V_W COORD' )

error = nf90_def_var(ncid, 'u_s', NF90_FLOAT, (/dim_lon,dim_latp,dim_lev/), id_u_s)
error = nf90_def_var(ncid, 'u_s', NF90_FLOAT, (/dim_lon,dim_latp,dim_lev/), id_u_s, chunksizes=(/i_target_out,jp1_target_out,lev_target/))
call netcdf_err(error, 'DEFINING U_S' )
error = nf90_put_att(ncid, id_u_s, "coordinates", "geolon_s geolat_s")
call netcdf_err(error, 'DEFINING U_S COORD' )

error = nf90_def_var(ncid, 'v_s', NF90_FLOAT, (/dim_lon,dim_latp,dim_lev/), id_v_s)
error = nf90_def_var(ncid, 'v_s', NF90_FLOAT, (/dim_lon,dim_latp,dim_lev/), id_v_s, chunksizes=(/i_target_out,jp1_target_out,lev_target/))
call netcdf_err(error, 'DEFINING V_S' )
error = nf90_put_att(ncid, id_v_s, "coordinates", "geolon_s geolat_s")
call netcdf_err(error, 'DEFINING V_S COORD' )
Expand Down

0 comments on commit 2038e2e

Please sign in to comment.