Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build/FUSE_SRC/FUSE_DMSL/fuse_rmse.f90
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ SUBROUTINE FUSE_RMSE(XPAR,GRID_FLAG,NCID_FORC,RMSE,OUTPUT_FLAG,IPSET,MPARAM_FLAG

! temporally integrate the ordinary differential equations
CALL ODE_INT(FUSE_SOLVE,STATE0,STATE1,DT_SUB,DT_FULL,IERR,MESSAGE)
IF (IERR.NE.0) THEN; PRINT *, TRIM(MESSAGE); PAUSE; ENDIF
IF (IERR.NE.0) THEN; PRINT *, TRIM(MESSAGE); STOP 1; ENDIF

! perform overland flow routing
CALL Q_OVERLAND()
Expand Down
14 changes: 7 additions & 7 deletions build/FUSE_SRC/FUSE_NETCDF/def_output.f90
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,9 @@ SUBROUTINE DEF_OUTPUT(nSpat1,nSpat2,NPSET,NTIM)
!IERR = NF_REDEF(ncid_out); CALL HANDLE_ERR(IERR)

! define dimensions
IERR = NF_DEF_DIM(ncid_out,'time',NF_UNLIMITED,NTIM_DIM); CALL HANDLE_ERR(IERR) !record dimension (unlimited length)
IERR = NF_DEF_DIM(ncid_out,'longitude',nSpat1,lon_dim); CALL HANDLE_ERR(IERR)
IERR = NF_DEF_DIM(ncid_out,'latitude',nSpat2,lat_dim); CALL HANDLE_ERR(IERR)
IERR = NF_DEF_DIM(ncid_out,'time',NF_UNLIMITED, NTIM_DIM); CALL HANDLE_ERR(IERR) !record dimension (unlimited length)
IERR = NF_DEF_DIM(ncid_out,'longitude',nSpat1, lon_dim); CALL HANDLE_ERR(IERR)
IERR = NF_DEF_DIM(ncid_out,'latitude',nSpat2, lat_dim); CALL HANDLE_ERR(IERR)
IF(.NOT.GRID_FLAG)THEN
IERR = NF_DEF_DIM(ncid_out,'param_set',NPSET,param_dim); CALL HANDLE_ERR(IERR)
ENDIF
Expand Down Expand Up @@ -141,23 +141,23 @@ SUBROUTINE DEF_OUTPUT(nSpat1,nSpat2,NPSET,NTIM)
END DO ! ivar

! define the time variable
ierr = nf_def_var(ncid_out,'time',nf_real,1,ntim_dim,ivar_id); call handle_err(ierr)
ierr = nf_def_var(ncid_out,'time',nf_real,1,(/ntim_dim/),ivar_id); call handle_err(ierr)
ierr = nf_put_att_text(ncid_out,ivar_id,'units',len_trim(timeUnits),trim(timeUnits))
call handle_err(ierr)

! define the latitude variable
ierr = nf_def_var(ncid_out,'latitude',nf_real,1,lat_dim,ivar_id); call handle_err(ierr)
ierr = nf_def_var(ncid_out,'latitude',nf_real,1,(/lat_dim/),ivar_id); call handle_err(ierr)
ierr = nf_put_att_text(ncid_out,ivar_id,'units',8,'degreesN'); call handle_err(ierr)
ierr = nf_put_att_text(ncid_out,ivar_id,'axis',1,'Y'); call handle_err(ierr)

! define the longitude variable
ierr = nf_def_var(ncid_out,'longitude',nf_real,1,lon_dim,ivar_id); call handle_err(ierr)
ierr = nf_def_var(ncid_out,'longitude',nf_real,1,(/lon_dim/),ivar_id); call handle_err(ierr)
ierr = nf_put_att_text(ncid_out,ivar_id,'units',8,'degreesE'); call handle_err(ierr)
ierr = nf_put_att_text(ncid_out,ivar_id,'axis',1,'X'); call handle_err(ierr)

IF(.NOT.GRID_FLAG)THEN
! define the param_set variable
ierr = nf_def_var(ncid_out,'param_set',nf_char,1,param_dim,ivar_id); call handle_err(ierr)
ierr = nf_def_var(ncid_out,'param_set',nf_char,1,(/param_dim/),ivar_id); call handle_err(ierr)
ierr = nf_put_att_text(ncid_out,ivar_id,'units',1,'-'); call handle_err(ierr)
ENDIF

Expand Down
4 changes: 2 additions & 2 deletions build/FUSE_SRC/FUSE_NETCDF/put_output.f90
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ SUBROUTINE PUT_OUTPUT(iSpat1,iSpat2,ITIM,IMOD,IPAR)
! write the time
tDat = timDat%dtime ! convert to actual single precision
ierr = nf_inq_varid(ncid_out,'time',ivar_id); CALL handle_err(ierr) ! get variable ID for time
ierr = nf_put_var1_real(ncid_out,ivar_id,itim,tDat); CALL handle_err(ierr) ! write time variable
ierr = nf_put_var1_real(ncid_out,ivar_id,(/itim/),tDat); CALL handle_err(ierr) ! write time variable

! close NetCDF file
IERR = NF_CLOSE(ncid_out)
Expand Down Expand Up @@ -180,7 +180,7 @@ SUBROUTINE PUT_GOUTPUT_3D(istart_sim,istart_in,numtim,IPSET)
time_steps_sub = time_steps(istart_in:(istart_in+numtim-1)) ! extract time for subperiod
tDat = time_steps_sub ! convert to actual single precision
ierr = nf_inq_varid(ncid_out,'time',ivar_id); CALL handle_err(ierr) ! get variable ID for time
ierr = nf_put_vara_real(ncid_out,ivar_id,istart_sim,numtim,tDat); CALL handle_err(ierr) ! write time variable
ierr = nf_put_vara_real(ncid_out,ivar_id,(/istart_sim/),(/numtim/),tDat); CALL handle_err(ierr) ! write time variable

! close NetCDF file
IERR = NF_CLOSE(ncid_out)
Expand Down
22 changes: 8 additions & 14 deletions build/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#========================================================================

# Define core directory below which everything resides
F_MASTER = ${HOME}/fuse/
F_MASTER = ${HOME}/Documents/analysis/diffModel/FUSE/source/fuse/

# Core directory that contains FUSE source code
F_KORE_DIR = $(F_MASTER)build/FUSE_SRC/
Expand All @@ -22,14 +22,9 @@ EXE_PATH = $(F_MASTER)bin/
# PART 1: Define the libraries, driver programs, and executables
#========================================================================

# Define the fortran compiler. You have a few options: i) set the FC
# variable in your environment, ii) set it when you compile this
# Make file (e.g. make FC=ifort), iii) or if don't define it, the compiler
# specified below is used
ifndef FC
#FC = ifort
FC = gfortran
endif
# Define the fortran compiler.
#FC = ifort
FC = gfortran

# Define the NetCDF and HDF5 libraries. Use the libraries associated with
# the compiler you selected above. Note that these paths are machine-dependent
Expand All @@ -41,13 +36,12 @@ ifeq "$(FC)" "ifort"
endif

ifeq "$(FC)" "gfortran"
NCDF_LIB_PATH = /usr/lib/x86_64-linux-gnu#${NCDF_PATH}
HDF_LIB_PATH = /usr/lib/x86_64-linux-gnu/hdf5/serial#${HDF_PATH}
INCLUDE_PATH = /usr#${IN_PATH}
INC_NETCDF := $(shell nf-config --fflags)
LIB_NETCDF := $(shell nf-config --flibs) $(shell nc-config --libs)
endif

LIBRARIES = -L$(NCDF_LIB_PATH)/lib -lnetcdff -lnetcdf -L$(HDF_LIB_PATH)/lib -lhdf5_hl -lhdf5
INCLUDE = -I$(INCLUDE_PATH)/include -I$(INCLUDE_PATH)/include
LIBRARIES = $(LIB_NETCDF)
INCLUDE = $(INC_NETCDF)

# Define the driver program and associated subroutines for the fidelity test
FUSE_DRIVER = \
Expand Down