From 00269014d4e5fe2242e07ab84a5f5468180ca3dd Mon Sep 17 00:00:00 2001 From: Casper Date: Fri, 31 Jul 2020 08:25:55 +0800 Subject: [PATCH] first push of new libaed configuration --- Changes | 300 ------------------ GLM_CONFIG | 4 +- Makefile | 96 +++--- RELEASE-NOTES | 36 --- build_glm.sh | 46 ++- debian/changelog | 5 +- debian/rules | 2 +- src/glm.h | 2 +- src/{glm_aed2.F90 => glm_aed.F90} | 289 ++++++++--------- src/glm_init.c | 8 +- src/glm_surface.c | 2 + src/glm_types.h | 4 +- src/glm_wqual.c | 22 +- src/glm_wqual.h | 18 +- src/glm_zones.F90 | 6 +- win/glm+.rc | 8 +- win/glm.rc | 8 +- win/vs-glm-with-fabm/glm+.sln | 4 +- win/vs-glm-with-fabm/glm+.vcxproj | 4 +- .../{glm-aed2.vfproj => glm-aed.vfproj} | 10 +- win/vs-glm-with-fabm/glm.sln | 4 +- win/vs-glm-with-fabm/glm.vcxproj | 4 +- win/vs-glm-wq-dll/libglm_wq_aed+.sln | 111 +++++++ ..._wq_aed2+.vfproj => libglm_wq_aed+.vfproj} | 18 +- .../{libglm_wq_aed2.def => libglm_wq_aed.def} | 2 +- .../{libglm_wq_aed2.sln => libglm_wq_aed.sln} | 33 +- ...lm_wq_aed2.vfproj => libglm_wq_aed.vfproj} | 18 +- win/vs-glm-wq-dll/libglm_wq_aed2+.sln | 55 ---- win/vs-glm/glm+.sln | 82 ++++- win/vs-glm/glm+.vcxproj | 4 +- .../{glm-aed2.vfproj => glm-aed.vfproj} | 11 +- win/vs-glm/glm.sln | 53 +++- win/vs-glm/glm.vcxproj | 4 +- .../{glm-aed2.vfproj => glm-aed.vfproj} | 10 +- win/vs-libglm/libglm+.sln | 4 +- win/vs-libglm/libglm+.vcxproj | 4 +- win/vs-libglm/libglm.sln | 4 +- win/vs-libglm/libglm.vcxproj | 4 +- 38 files changed, 578 insertions(+), 721 deletions(-) delete mode 100644 Changes delete mode 100644 RELEASE-NOTES rename src/{glm_aed2.F90 => glm_aed.F90} (87%) rename win/vs-glm-with-fabm/{glm-aed2.vfproj => glm-aed.vfproj} (83%) create mode 100644 win/vs-glm-wq-dll/libglm_wq_aed+.sln rename win/vs-glm-wq-dll/{libglm_wq_aed2+.vfproj => libglm_wq_aed+.vfproj} (76%) rename win/vs-glm-wq-dll/{libglm_wq_aed2.def => libglm_wq_aed.def} (92%) rename win/vs-glm-wq-dll/{libglm_wq_aed2.sln => libglm_wq_aed.sln} (56%) rename win/vs-glm-wq-dll/{libglm_wq_aed2.vfproj => libglm_wq_aed.vfproj} (78%) delete mode 100644 win/vs-glm-wq-dll/libglm_wq_aed2+.sln rename win/vs-glm/{glm-aed2.vfproj => glm-aed.vfproj} (79%) rename win/vs-libglm/{glm-aed2.vfproj => glm-aed.vfproj} (83%) diff --git a/Changes b/Changes deleted file mode 100644 index 8116788..0000000 --- a/Changes +++ /dev/null @@ -1,300 +0,0 @@ -# -# 2015/12/16 -# Version 2.2.0beta -# -# Removed support for open64 compiler (compiler suite no longer maintained) -# Fixed flow factor for submerged inflows -# Added sediment zones -# Added isotope, isotope_c and radon modules -# Fixed minor memory leak in namelist reader -# Added attributes to some netcdf vars that were missing them -# Added variable outflows (Michael Weber) -# Added Bubbler -# Fixed some memory issues -# Added several new biogeochem models -# Various other bugfixes. -# -# 2015/08/26 -# Version 2.0.4 -# -- Since 2.0.3 -# -# LAW et al : -# Fixed tracking of Snow Density -# Fixed how the falling snow and existing snow densities were combined -# Added additional diagnostic output to lake.csv -# Cleaned up and fixed melting code where melt volumes were based on rho0 instead of ice densities -# Improved tracking of ice/snow volumes and fluxes -# -# 2015/04/28 -# Version 2.0.3 -# -- Since 2.0.2 -# -# Updates to organic_matter, totals and pathogens modules -# Fix to not look for cloud/longwave for rad_modes 3 & 5 -# -# 2015/04/28 -# Version 2.0.2 -# -# -- Since 2.0.1 -# -# Fixed hypolimnion mixing problem -# Additional deep mixing options -# -# 2015/04/08 -# Version 2.0.1 -# -# -- Since 2.0.0 -# -# Added CH4 to carbon module in libaed2 -# -# -# 2015/03/10 -# Version 2.0.0 -# -# -- Since 1.4.0 -# -# Changed units to SI for flow in inflows and outflows [m3/s instead of ML/day] -# Changed units to SI for Area in glm2.nml - morphometry [m2 not 1000m2] -# Changed units to SI for Density (instead of 1000-dens) (internal) -# Improved plotting routines -# Updated to latest fabm (as at 20141205) -# Changed the WQ array index order to accommodate the new FABM -# Added atmospheric stability to surface calcs -# Added bird model for solar radiation -# Added layer stress, seepage and runoff -# Added below surface inflows. -# Selectable use of FABM-AED or AED2 -# Added support for libAED2 - this is the new default WQ method -# WQ is selectable from glm2.nml file or from command line as either fabm or aed2 -# -# -# 2014/08/02 -# Version 1.4.0 -# -# Since glm_1.3.3 -# -# more FABM mods : -# Updated to new fabm on 2014-06-10 -# Removed driver/glm Makefile and fabm_driver - fabm doesnt use them anymore -# Remove "conserved quantities" which are no longer supported - the new mechanism -# will take more work than they are worth. - sigh -# Update time_treatment to new "output_*" - sigh -# Updated the FABM macros to the new FABM macros - sigh -# Changed totals module to do the calculations in "do" instead of "conserved quantities" -# Changed sedflux to use diagnostic variables instead of state vars -# Removed unimplemented "bacteria" and "viruses" modules -# -# made the output time strings reflect the actual time of output -# Modified start date reflect the start date (previously started a day early). -# Fixed inflows bug : was not inserting inflow if it failed to reach neutral buoyancy in the daily time step -# Fixed a long standing, unnoticed bug with benthic processing. -# Fixed a bug in lake.csv - some columns were always "missing" (introduced by libutil split) -# Fixed minor bug where lake.csv was empty if csv_point_nlevs was 0 -# Fixed a bug in initialization that crashed if there were more WQ variables in -# inflow that in FABM -# Added support for different plots.nml file names - now if a name -# appears after the --xdisp (without a preceding --) then it is assumed to be -# a plots.nml filename and is used instead of the default. -# Fixed a bug where surface flux was being added twice -# Added support for fonts in plotting. -# Fixed plot window name (again...) -# Renamed glm variables with FABM in them to WQ instead. This is prepatory to allowing -# other forms of WQ calculations (eg libaed2) -# also renamed glm_fabm.h to glm_wqual.h -# Added outflow output files in the format of inflow files. -# Changed &fabm_setup to wq_setup (and fabm_nml_file to wq_nml_file) in glm.nml -# If out_dir doesn't exist, attempt to create it -# Added time format option to csv files -# Added passing of bottom_stress to FABM from GLM [NB this is non-functional because GLM does not have bottom stress yet] -# Added benthic light area code -# Preliminary support for non-gui OS-X version. Unfortunately this was broken again -# when fabm was updated. Although the new fabm will build, the compiler hangs on glm_fabm.F90 trying -# to load fabm.mod. -# Split glm_model to support non-averaged inflow/outflow and meteo -# Separated from libutil library. -# added scaling factors for met variables other than wind. -# modified the way wind_factor is done, it now is applied when met is read in, rather -# than everywhere wind is used. This might fix an unknown bug since fabm was using -# the unscaled value of windspeed -# -# FABM mods : -# Updated to new FABM as at 20131121. -# Added new k_wind variant to aed_utils.F90 -# Added support for varied mobility (vertical movement) in phytoplankton. -# -# -# 2013/11/15 -# Version 1.3.3 -# -# Since glm_1.3.2 -# -# Added more limiters to nitrogen and silica uptake in aed_phytoplankton -# -# -# 2013/09/24 -# Version 1.3.2 -# -# Since glm_1.3.1 -# -# Added support for sub daily in plotting -# Changed handling of diagnostics vars to be as if they were time_treatment_last. -# This is because they do not get appropriately resized when layers do -# Changed name of do_settle flag to mobility_off -# Small correction to how start date is initialised -# Put back program name for plot window -# Moved do_fabm to be after all layer resizing so output better reflects what was there when fabm ran -# Added support for plotting extc and density -# -# -# 2013/09/22 -# Version 1.3.1 -# -# Since glm_1.3.0 -# -# Fixed a problem where if fabm is not used require inflow variables to be limited to 3 (flow,temp,salt) -# Added a version watermark to the plots -# Fixed Thermocline depth responding opposite to expected when Kw adjusted. -# Solution: New code in glm_surface.c to avoid doubling up of surface energy due to PAR. -# Note change to glm_model.c to recalculate the light at the surface layer. -# Fixed GLM extremely sensitive to choice of bsn_len_outl and bsn_wid_outl and users most often -# use the default in Testsim2 rather than the actual values for their lake. -# Solution: remove all reference to these parameters replace with a calculation based on a) the -# area of the lake at that layer; b) the area of an ellipse; and c) the ratio of bsn_len to bsn_wid at -# the crest. The modified code affects both do_mixing and outflows. -# Fixed GLM creating energy in do_mixer leaving lakes 2-5oC too hot. -# Solution: When combining layers in kelvin_helmoltz must recalculate density and set both layers to be the same. -# Added version stamp support to libplot. -# Fixed problem with save all-in-1 not getting rows right if not exact multiple of columns -# Changed phytoplankton diagnostic variables to be time_treatment_last -# Added support for plotting Radiation -# -# -# 2013/08/08 -# Version 1.3.0 -# -# Since glm_1.2.2 -# -# FABM core updated -# Rewritten the settling - now called mobility to handle non-uniform direction of motion -# Fixed a problem with light not fading correctly -# Modified the restrictive ordering requirement on inflow FABM variables order - now should be as in glm.nml -# Corrected the WIN32 preprocessor flag to _WIN32 -# minor update to csv reading to support ALM -# some addition for for support for single precision version -# plotting no longer needs temp and salinity first -# Added mixing parameter coef_mix_hyp (efficiency of hypolimnetic mixing) -# -# -# 2013/05/17 -# Version 1.2.2 -# -# Since glm_1.2.1 -# -# Allow layer 0 to be in the "levels output" -# Fixed a bug of incorrect sediment heating -# -# -# 2013/05/02 -# Version 1.2.1 -# -# Since glm_1.2.0 -# -# Fixed a bug where timefmt that doesnt need "stop" field would crash if it wasn't included -# Fixed check of floating offtake being in the right range. -# -# -# 2013/04/12 -# Version 1.2.0 -# -# Since glm_1.1.0 -# -# changed meaning of "Depths" in "init_profiles" to really be depths, and added a new -# parameter "lake_depth" to be the total depth of the lake. To use the old meaning -# you must change "num_depths" and "the_depths" to "num_heights" and "the_heights" respectively -# mixing bugfixes -# changed some config paramters -# -# coef_mix_kinetic => coef_mix_conv -# coef_mix_eta => coef_wind_stir -# coef_mix_cs => coef_mix_shear -# coef_mix_ct => coef_mix_turb -# -# added check for unknown entries in namelist file -# added checks to H and A from "morphometry" -# -# --------------------------------------------- -# -# 2013/03/13 -# Version 1.1.0 -# -# Since glm_1.0.1C -# -# upgraded to latest fabm -# fixed a problem in zooplankton -# fixed a problem where layer thicknesses output were > than max_layer_ht -# modified evap equations to be self consistant. -# modified csv and namelist readers to allow for possiblility of blank lines or stray -# windows style end of line markers. -# corrected output which was missing the top layer of data (except for WQ values) -# corrected wind output to .nc file to be factored with wind_factor -# modified output so lake.csv is written daily and now includes daily Rain and Evap -# corrected to inflow outflow rates reported in lake.csv file to account for "factor" -# fixed a bug in outflow which put the effective outflow above the lake (for non-zero base_elev) -# corrected floating outflow to rest on the bottom rather than sink below bottom if lake is too deep -# Added fudge factor to allow for lakes briefly being deeper than crest allows -# -# --------------------------------------------- -# -# 2013/02/18 -# Version 1.0.1C -# -# Since glm_1.0.0C -# -# remove base_elev and crest_elev from config -# fixed bug in namelist reader where integers in a REAL list would not appear in the list -# fixed bug where max layers was checked for validity before that was possible leading to crashes -# if the lake was deeper than maxlayers could allow. -# fixed bug that would crash is lake was deeper than 100m. -# -# --------------------------------------------- -# -# 2012/12/12 -# Version 1.0.0C -# Translated to C -# -# --------------------------------------------- -# -# Since glm_20121003 -# -# changed NumWQVars to NumFABMVars to avoid confusion with the num_wq_vars parameter -# in the initial conditions -# -# Since glm_20120903 -# -# added support for sub-daily meteo -# -# bumped version to 0.9.6F for fortran version and 0.9.6C for C -# many minor internal name changes -# fabm_surface exchange changes -# -# moved multi-ben flag to fabm section of glm.nml -# -# Since glm_20120823 -# -# reverted to fortran glm_time and glm_util for the windows build -# split mixer from model and mixu from mixer in prep. for transitioning to C -# fixed csv bug where missing value was being put in multi-levels -# -# Since glm_20120801 -# -# Removed out_oflo flag from glm.nml - was not used -# Added height of max dT/dz to lake.csv -# Fixed Min Temp output in lake.csv -# Restored multi-bentic calcs -# Fixed Longtitude/Latitude reversal in output.nc -# merged wqual and cc arrays - one is now a pointer to t'other -# Fixed initial condition overwrite -# Added settling -# Cleaned out some more GOTO's and corrected an error on an earlier goto removal -# Moved all time routines to C -# Added f2003 C_Interoperability support diff --git a/GLM_CONFIG b/GLM_CONFIG index e6be8e1..514974c 100644 --- a/GLM_CONFIG +++ b/GLM_CONFIG @@ -3,7 +3,7 @@ # #export FABM=true -export AED2=true +export AED=true export USE_DL=false export WITH_PLOTS=true export WITH_XPLOTS=true @@ -20,8 +20,6 @@ export WITH_XPLOTS=true export CURDIR=`pwd` export FABMDIR=${CURDIR}/../fabm-git export PLOTDIR=${CURDIR}/../libplot -export AED2DIR=${CURDIR}/../libaed2 -export AED2PLS=${CURDIR}/../libaed2-plus export UTILDIR=${CURDIR}/../libutil export GLM_CONFIGURED=true diff --git a/Makefile b/Makefile index 95462fa..e5eb441 100644 --- a/Makefile +++ b/Makefile @@ -111,24 +111,40 @@ ifeq ($(FABM),true) endif endif -ifeq ($(AED2),true) - DEFINES+=-DAED2 - - ifeq ($(AED2DIR),) - AED2DIR=../libaed2 +EXTFFLAGS= +ifeq ($(AED),true) + DEFINES+=-DAED + + AEDWATDIR=../libaed-water + FINCLUDES+=-I$(AEDWATDIR)/include -I$(AEDWATDIR)/mod + AEDLIBS=-L$(AEDWATDIR)/lib -laed-water + ifdef AEDBENDIR + AEDLIBS+=-L$(AEDBENDIR)/lib -laed-benthic + else + EXTFFLAGS+=-DNO_BENTHIC endif - - FINCLUDES+=-I$(AED2DIR)/include -I$(AED2DIR)/mod - AED2LIBS=-L$(AED2DIR)/lib -laed2 - ifneq ("$(wildcard ${AED2PLS}/Makefile)","") - AED2PLBS=-L${AED2PLS}/lib -laed2+ + ifdef AEDRIPDIR + AEDLIBS+=-L$(AEDRIPDIR)/lib -laed-riparian + else + EXTFFLAGS+=-DNO_RIPARIAN + endif + ifdef AEDDMODIR + AEDLIBS+=-L$(AEDDMODIR)/lib -laed-demo + else + EXTFFLAGS+=-DNO_DEMO + endif + ifdef AEDDEVDIR + AEDLIBS+=-L$(AEDDEVDIR)/lib -laed-dev + else + EXTFFLAGS+=-DNO_DEV endif + AEDLIBS+=-ldl ifeq ($(USE_DL),true) - AED2TARGETS=libglm_wq_aed2.${so_ext} + AEDTARGETS=libglm_wq_aed.${so_ext} endif - GLM_DEPS+=$(AED2DIR)/lib/libaed2.a + GLM_DEPS+=$(AEDWATDIR)/lib/libaed-water.a endif FLIBS= @@ -144,12 +160,13 @@ ifeq ($(F90),ifort) endif FFLAGS+=-real-size 64 FLIBS+=-L/opt/intel/lib - FLIBS+=-lifcore -lsvml + FLIBS+=-lifcore -lsvml -lifport FLIBS+=-limf -lintlc -liomp5 - ifneq ("$(AED2PLBS)", "") - AED2PLBS+=-lifport + ifneq ("$(AEDPLBS)", "") + AEDPLBS+=-lifport endif OMPFLAG=-openmp + #EXTFFLAGS=-warn-no-unused-dummy-argument else ifeq ($(F90),pgfortran) LINK=$(CC) DEBUG_FFLAGS=-g -DDEBUG=1 @@ -173,11 +190,11 @@ else FFLAGS+=-fdefault-real-8 -fdefault-double-8 OMPFLAG=-fopenmp FLIBS+=-lgfortran -lgomp + EXTFFLAGS+=-Wno-unused-dummy-argument endif ifneq ($(USE_DL),true) - WQLIBS=$(AED2LIBS) $(FABMLIBS) - WQPLIBS=$(AED2PLBS) $(FABMLIBS) + WQLIBS=$(AEDLIBS) $(FABMLIBS) endif ifeq ($(DEBUG),true) @@ -252,11 +269,16 @@ ifeq ($(USE_DL),true) LIBS+=-ldl CFLAGS+=-DUSE_DL_LOADER=1 FFLAGS+=-DUSE_DL_LOADER=1 - TARGETS+=$(AED2TARGETS) $(FABMTARGETS) + TARGETS+=$(AEDTARGETS) $(FABMTARGETS) else - OBJS+=${objdir}/glm_zones.o - ifeq ($(AED2),true) - OBJS+=${objdir}/glm_aed2.o + ifeq ($(AED),true) + OBJS+=${objdir}/glm_zones.o + else ifeq ($(FABM),true) + OBJS+=${objdir}/glm_zones.o + endif + ifeq ($(AED),true) + OBJS+=${objdir}/glm_aed.o \ + ${objdir}/aed_external.o endif ifeq ($(FABM),true) OBJS+=${objdir}/glm_fabm.o ${objdir}/ode_solvers.o @@ -277,8 +299,8 @@ ${moddir}: glm: ${objdir} ${moddir} $(OBJS) $(GLM_DEPS) $(LINK) -o $@ $(EXTRALINKFLAGS) $(OBJS) $(LIBS) $(WQLIBS) $(FLIBS) -glm+: ${objdir} ${moddir} $(OBJS) $(GLM_DEPS) ${AED2PLS}/lib/libaed2+.a - $(LINK) -o $@ $(EXTRALINKFLAGS) $(OBJS) $(LIBS) $(WQPLIBS) $(FLIBS) +glm+: ${objdir} ${moddir} $(OBJS) $(GLM_DEPS) + $(LINK) -o $@ $(EXTRALINKFLAGS) $(OBJS) $(LIBS) $(WQLIBS) $(FLIBS) clean: ${objdir} ${moddir} @touch ${objdir}/1.o ${moddir}/1.mod 1.t 1__genmod.f90 glm 1.${so_ext} glm_test_bird @@ -288,8 +310,8 @@ clean: ${objdir} ${moddir} distclean: clean @/bin/rm -rf ${objdir} ${moddir} glm glm+ -#${objdir}/%.o: ${srcdir}%.F90 ${incdir}/glm.h ${moddir} ${objdir} -# $(FC) -fPIC $(FFLAGS) $(EXTRA_FFLAGS) -D_FORTRAN_SOURCE_ -c $< -o $@ +${objdir}/%.o: ${srcdir}/%.F90 ${incdir}/glm.h ${moddir} ${objdir} + $(FC) -fPIC $(FFLAGS) $(EXTRA_FFLAGS) -D_FORTRAN_SOURCE_ -c $< -o $@ ${objdir}/%.o: ${srcdir}/%.c ${incdir}/glm.h $(CC) -fPIC $(CFLAGS) $(EXTRA_FLAGS) -c $< -o $@ @@ -302,31 +324,19 @@ ${objdir}/%.o: ${srcdir}/%.c ${incdir}/glm.h # Build rules -libglm_wq_aed2.${so_ext}: ${objdir}/glm_zones.o ${objdir}/glm_aed2.o ${objdir}/glm_plugin.o - $(CC) ${SHARED} $(LDFLAGS) -o $@ $^ $(AED2LIBS) +libglm_wq_aed.${so_ext}: ${objdir}/glm_zones.o ${objdir}/glm_aed.o ${objdir}/glm_plugin.o + $(CC) ${SHARED} $(LDFLAGS) -o $@ $^ $(AEDLIBS) -libglm_wq_aed2+.${so_ext}: ${objdir}/glm_zones.o ${objdir}/glm_aed2.o ${objdir}/glm_plugin.o - $(CC) ${SHARED} $(LDFLAGS) -o $@ $^ $(AED2PLBS) +libglm_wq_aed+.${so_ext}: ${objdir}/glm_zones.o ${objdir}/glm_aed.o ${objdir}/glm_plugin.o + $(CC) ${SHARED} $(LDFLAGS) -o $@ $^ $(AEDPLBS) libglm_wq_fabm.${so_ext}: ${objdir}/glm_zones.o ${objdir}/glm_fabm.o ${objdir}/ode_solvers.o ${objdir}/glm_plugin.o $(CC) ${SHARED} $(LDFLAGS) -o $@ $^ $(FABMLIBS) # special needs dependancies -${objdir}/glm_aed2.o: ${srcdir}/glm_aed2.F90 ${objdir}/glm_types.o - $(FC) -fPIC $(FFLAGS) $(EXTRA_FFLAGS) -D_FORTRAN_SOURCE_ $(OMPFLAG) -c $< -o $@ - -${objdir}/glm_zones.o: ${srcdir}/glm_zones.F90 ${objdir}/glm_types.o - $(FC) -fPIC $(FFLAGS) $(EXTRA_FFLAGS) -D_FORTRAN_SOURCE_ -c $< -o $@ - -${objdir}/glm_fabm.o: ${srcdir}/glm_fabm.F90 ${objdir}/glm_types.o ${objdir}/ode_solvers.o - $(FC) -fPIC $(FFLAGS) $(EXTRA_FFLAGS) -D_FORTRAN_SOURCE_ -c $< -o $@ - -${objdir}/glm_types.o: ${srcdir}/glm_types.F90 ${incdir}/glm.h - $(FC) -fPIC $(FFLAGS) $(EXTRA_FFLAGS) -D_FORTRAN_SOURCE_ -c $< -o $@ - -${objdir}/ode_solvers.o: ${srcdir}/ode_solvers.F90 - $(FC) -fPIC $(FFLAGS) $(EXTRA_FFLAGS) -D_FORTRAN_SOURCE_ -c $< -o $@ +${objdir}/aed_external.o: ../libaed-water/src/aed_external.F90 + $(FC) -fPIC $(FFLAGS) $(EXTFFLAGS) -D_FORTRAN_SOURCE_ $(OMPFLAG) -c $< -o $@ ${objdir}/glm_globals.o: ${srcdir}/glm_globals.c ${incdir}/glm_globals.h ${incdir}/glm.h ${objdir}/glm_plugin.o: ${srcdir}/glm_plugin.c ${incdir}/glm_plugin.h ${incdir}/glm.h diff --git a/RELEASE-NOTES b/RELEASE-NOTES deleted file mode 100644 index 4c5f077..0000000 --- a/RELEASE-NOTES +++ /dev/null @@ -1,36 +0,0 @@ -GLM v2.2.0beta Release Notes - -There have been many changes since 2.0.x many bug fixes and additions. - -There are new models in the aed2 water quality set - but some are currently not functional, and some are untested - - sulfur, iron and sed-diagenesis are non-functional - geochemistry, vegetation and bivalves are not tested - -Sediment zones have been added - -Variable offtake outflows have been added (Thanks Michael Weber) - -A bubbler has been added (currently completely untested ....) - - ------------------------------- - -GLM v2.0.0 Release Notes - -The following major changes have been made that require the user to change -their input files. - -1) GLM now reads a glm2.nml file with the following updates from glm.nml: - a) The Areas in the hypsographic curve (A under &morphometry in the - glm2.nml file) are now in m2 not 1000m2 so you will need to multiply - your areas by 1000. - b) The coefficient of wind drag, coef_wind_drag has been renamed cd. - c) The coefficient of inflow entrainment, coef_inf_entrain has been - moved to the &inflow section of glm2.nml. - d) The option to output lake number, out_lkn has been removed as it is - included as default output. - -2) The units for inflow input files have been changed from ML/day to m3/s, all - inflow files will need to be adjusted accordingly. -3) The units for outflow input files have been changed from ML/day to m3/s, all - outflow files will need to be adjusted accordingly. diff --git a/build_glm.sh b/build_glm.sh index 00b21a4..e0cb896 100755 --- a/build_glm.sh +++ b/build_glm.sh @@ -81,9 +81,6 @@ export F95=$FC export MPI=OPENMPI -if [ "$AED2DIR" = "" ] ; then - export AED2DIR=../libaed2 -fi if [ "$PLOTDIR" = "" ] ; then export PLOTDIR=../libplot fi @@ -122,16 +119,33 @@ if [ "$FABM" = "true" ] ; then make || exit 1 fi -if [ "${AED2}" = "true" ] ; then - cd ${AED2DIR} +if [ "${AED}" = "true" ] ; then + cd ${CURDIR}/../libaed-water make || exit 1 - cd .. - if [ "${AED2PLS}" != "" ] ; then - if [ -d ${AED2PLS} ] ; then - cd ${AED2PLS} - make || exit 1 - cd .. - fi + DAEDWATDIR=`pwd` + if [ -d ${CURDIR}/../libaed-benthic ] ; then + echo build libaed-benthic + cd ${CURDIR}/../libaed-benthic + make || exit 1 + DAEDBENDIR=`pwd` + fi + if [ -d ${CURDIR}/../libaed-riparian ] ; then + echo build libaed-riparian + cd ${CURDIR}/../libaed-riparian + make || exit 1 + DAEDRIPDIR=`pwd` + fi + if [ -d ${CURDIR}/../libaed-demo ] ; then + echo build libaed-demo + cd ${CURDIR}/../libaed-demo + make || exit 1 + DAEDDMODIR=`pwd` + fi + if [ -d ${CURDIR}/../libaed-dev ] ; then + echo build libaed-dev + cd ${CURDIR}/../libaed-dev + make || exit 1 + DAEDDEVDIR=`pwd` fi fi @@ -144,9 +158,9 @@ cd ${UTILDIR} make || exit 1 cd ${CURDIR} -make || exit 1 -if [ -d ${AED2PLS} ] ; then - make glm+ || exit 1 -fi +/bin/rm obj/aed_external.o +make AEDBENDIR=$DAEDBENDIR AEDDMODIR=$DAEDDMODIR || exit 1 +/bin/rm obj/aed_external.o +make glm+ AEDBENDIR=$DAEDBENDIR AEDDMODIR=$DAEDDMODIR AEDRIPDIR=$DAEDRIPDIR AEDDEVDIR=$DAEDDEVDIR || exit 1 exit 0 diff --git a/debian/changelog b/debian/changelog index 94983ea..3de3758 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -glm (3.1.0-0) UNRELEASED; urgency=low +glm (3.2.0a1-0) UNRELEASED; urgency=low [ Casper Boon ] * new version 3.0.0 @@ -8,8 +8,9 @@ glm (3.1.0-0) UNRELEASED; urgency=low * new version 3.0.4 * new version 3.0.5 * new version 3.1.0 + * new version 3.2.0a1 - -- Casper Boon Mon, 27 Jul 2020 09:15:04 +0800 + -- Casper Boon Tue, 28 Jul 2020 08:33:47 +0800 glm (2.4.1-0) UNRELEASED; urgency=low diff --git a/debian/rules b/debian/rules index 07acbff..0c95422 100755 --- a/debian/rules +++ b/debian/rules @@ -2,7 +2,7 @@ package=glm year=2020 -version=3.1.0 +version=3.2.0a1 release=0.0 #export DH_VERBOSE=1 diff --git a/src/glm.h b/src/glm.h index b8e69d1..49a0982 100644 --- a/src/glm.h +++ b/src/glm.h @@ -35,7 +35,7 @@ #endif #define USE_FILLVALUE 1 -#define GLM_VERSION "3.1.0" +#define GLM_VERSION "3.2.0a1" #define POINT 0 #define Z_SHAPE 1 diff --git a/src/glm_aed2.F90 b/src/glm_aed.F90 similarity index 87% rename from src/glm_aed2.F90 rename to src/glm_aed.F90 index e863c76..4f159cc 100644 --- a/src/glm_aed2.F90 +++ b/src/glm_aed.F90 @@ -1,8 +1,8 @@ !############################################################################### !# # -!# glm_aed2.F90 # +!# glm_aed.F90 # !# # -!# The interface between glm and libaed2 # +!# The interface between glm and libaed-??? # !# # !# Developed by : # !# AquaticEcoDynamics (AED) Group # @@ -30,7 +30,7 @@ !# # !############################################################################### -#include "aed2.h" +#include "aed.h" #undef MISVAL #ifndef _FORTRAN_SOURCE_ @@ -52,11 +52,12 @@ !------------------------------------------------------------------------------- -MODULE glm_aed2 +MODULE glm_aed ! USE ISO_C_BINDING - USE aed2_common + USE aed_water + USE aed_common USE glm_types USE glm_zones @@ -81,15 +82,15 @@ MODULE glm_aed2 # define _WQ_SET_FLAGS "wq_set_flags" # define _WQ_IS_VAR "wq_is_var" #else -# define _WQ_INIT_GLM "aed2_init_glm" -# define _WQ_SET_GLM_DATA "aed2_set_glm_data" -# define _WQ_DO_GLM "aed2_do_glm" -# define _WQ_CLEAN_GLM "aed2_clean_glm" -# define _WQ_INIT_GLM_OUTPUT "aed2_init_glm_output" -# define _WQ_WRITE_GLM_ "aed2_write_glm" -# define _WQ_VAR_INDEX_C "aed2_var_index_c" -# define _WQ_SET_FLAGS "aed2_set_flags" -# define _WQ_IS_VAR "aed2_is_var" +# define _WQ_INIT_GLM "aed_init_glm" +# define _WQ_SET_GLM_DATA "aed_set_glm_data" +# define _WQ_DO_GLM "aed_do_glm" +# define _WQ_CLEAN_GLM "aed_clean_glm" +# define _WQ_INIT_GLM_OUTPUT "aed_init_glm_output" +# define _WQ_WRITE_GLM_ "aed_write_glm" +# define _WQ_VAR_INDEX_C "aed_var_index_c" +# define _WQ_SET_FLAGS "aed_set_flags" +# define _WQ_IS_VAR "aed_is_var" #endif ! !------------------------------------------------------------------------------- @@ -149,7 +150,7 @@ MODULE glm_aed2 LOGICAL :: link_rain_loss, link_solar_shade, link_bottom_drag AED_REAL,POINTER :: rain_factor, sw_factor, friction - INTEGER :: n_aed2_vars, n_vars, n_vars_ben, n_vars_diag, n_vars_diag_sheet + INTEGER :: n_aed_vars, n_vars, n_vars_ben, n_vars_diag, n_vars_diag_sheet INTEGER :: zone_var = 0 CHARACTER(len=64) :: NULCSTR = "" !=============================================================================== @@ -209,7 +210,7 @@ END FUNCTION f_get_lun !############################################################################### -SUBROUTINE aed2_set_flags(c_split_factor, c_mobility, c_bioshade, & +SUBROUTINE aed_set_flags(c_split_factor, c_mobility, c_bioshade, & c_repair_state, c_ode, c_benthic_mode, c_do_plots, & c_link_rain_loss, c_link_solar_shade, c_link_bottom_drag) BIND(C, name=_WQ_SET_FLAGS) !------------------------------------------------------------------------------- @@ -234,14 +235,14 @@ SUBROUTINE aed2_set_flags(c_split_factor, c_mobility, c_bioshade, & link_rain_loss = c_link_rain_loss link_solar_shade = c_link_solar_shade link_bottom_drag = c_link_bottom_drag -END SUBROUTINE aed2_set_flags +END SUBROUTINE aed_set_flags !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !############################################################################### -SUBROUTINE aed2_init_glm(i_fname,len,MaxLayers,NumWQ_Vars,NumWQ_Ben,pKw) BIND(C, name=_WQ_INIT_GLM) +SUBROUTINE aed_init_glm(i_fname,len,MaxLayers,NumWQ_Vars,NumWQ_Ben,pKw) BIND(C, name=_WQ_INIT_GLM) !------------------------------------------------------------------------------- -! Initialize the GLM-AED2 driver by reading settings from aed.nml. +! Initialize the GLM-AED driver by reading settings from aed.nml. !------------------------------------------------------------------------------- !ARGUMENTS CCHARACTER,INTENT(in) :: i_fname(*) @@ -255,10 +256,10 @@ SUBROUTINE aed2_init_glm(i_fname,len,MaxLayers,NumWQ_Vars,NumWQ_Ben,pKw) BIND(C, INTEGER :: rc, av, v, sv CHARACTER(len=80) :: fname - TYPE(aed2_variable_t),POINTER :: tvar + TYPE(aed_variable_t),POINTER :: tvar CHARACTER(len=64) :: models(64) - NAMELIST /aed2_models/ models + NAMELIST /aed_models/ models ! !------------------------------------------------------------------------------- !BEGIN @@ -267,54 +268,54 @@ SUBROUTINE aed2_init_glm(i_fname,len,MaxLayers,NumWQ_Vars,NumWQ_Ben,pKw) BIND(C, lKw = pKw #ifdef __INTEL_COMPILER - print *,' glm_aed2 built using intel fortran version ', __INTEL_COMPILER + print *,' glm_aed built using intel fortran version ', __INTEL_COMPILER #else # ifdef __PGI - print *,' glm_aed2 built using pgfortran version ', __PGIC__, '.', __PGIC_MINOR__, '.', __PGIC_PATCHLEVEL__ + print *,' glm_aed built using pgfortran version ', __PGIC__, '.', __PGIC_MINOR__, '.', __PGIC_PATCHLEVEL__ # else - print *,' glm_aed2 built using gfortran version ', __GNUC__, '.', __GNUC_MINOR__, '.', __GNUC_PATCHLEVEL__ + print *,' glm_aed built using gfortran version ', __GNUC__, '.', __GNUC_MINOR__, '.', __GNUC_PATCHLEVEL__ # endif #endif - print *,' libaed2 enabled.... init_glm_aed2 processing: ', TRIM(fname) + print *,' libaed enabled.... init_glm_aed processing: ', TRIM(fname) namlst = f_get_lun() - write(*,"(/,5X,'---------- AED2 config : start ----------')") - IF ( aed2_init_core('.') /= 0 ) STOP " ERROR: Initialisation of aed2_core failed" - CALL aed2_print_version + write(*,"(/,5X,'---------- AED config : start ----------')") + IF ( aed_init_core('.') /= 0 ) STOP " ERROR: Initialisation of aed_core failed" + CALL aed_print_version !# Create model tree - print *," Processing aed2_models config from ",TRIM(fname) + print *," Processing aed_models config from ",TRIM(fname) OPEN(namlst,file=fname,action='read',status='old',iostat=status) IF ( status /= 0 ) CALL STOPIT("Cannot open file " // TRIM(fname)) models = '' - READ(namlst, nml=aed2_models, iostat=status) - IF ( status /= 0 ) STOP "Cannot read namelist entry aed2_models" + READ(namlst, nml=aed_models, iostat=status) + IF ( status /= 0 ) STOP "Cannot read namelist entry aed_models" DO i=1,size(models) IF (models(i)=='') EXIT - CALL aed2_define_model(models(i), namlst) + CALL aed_define_model(models(i), namlst) ENDDO !# should be finished with this file CLOSE(namlst) print *," ... nml file parsing completed." - n_aed2_vars = aed2_core_status(n_vars, n_vars_ben, n_vars_diag, n_vars_diag_sheet) + n_aed_vars = aed_core_status(n_vars, n_vars_ben, n_vars_diag, n_vars_diag_sheet) #if DEBUG - DO i=1,n_aed2_vars - IF ( aed2_get_var(i, tvar) ) THEN - print *,"AED2 var ", i, tvar%sheet, tvar%diag, tvar%extern, TRIM(tvar%name) + DO i=1,n_aed_vars + IF ( aed_get_var(i, tvar) ) THEN + print *,"AED var ", i, tvar%sheet, tvar%diag, tvar%extern, TRIM(tvar%name) ELSE - print *,"AED2 var ", i, " is empty" + print *,"AED var ", i, " is empty" ENDIF ENDDO #endif - print "(/,5X,'AED2 : n_aed2_vars = ',I3,' ; MaxLayers = ',I4)",n_aed2_vars,MaxLayers - print "( 5X,'AED2 : n_vars = ',I3,' ; n_vars_ben = ',I3)",n_vars,n_vars_ben - print "( 5X,'AED2 : n_vars_diag = ',I3,' ; n_vars_diag_sheet = ',I3,/)",n_vars_diag,n_vars_diag_sheet + print "(/,5X,'AED : n_aed_vars = ',I3,' ; MaxLayers = ',I4)",n_aed_vars,MaxLayers + print "( 5X,'AED : n_vars = ',I3,' ; n_vars_ben = ',I3)",n_vars,n_vars_ben + print "( 5X,'AED : n_vars_diag = ',I3,' ; n_vars_diag_sheet = ',I3,/)",n_vars_diag,n_vars_diag_sheet CALL check_data @@ -342,71 +343,71 @@ SUBROUTINE aed2_init_glm(i_fname,len,MaxLayers,NumWQ_Vars,NumWQ_Ben,pKw) BIND(C, CALL set_c_wqvars_ptr(cc) ALLOCATE(min_((n_vars + n_vars_ben))) ; ALLOCATE(max_((n_vars + n_vars_ben))) - print "(5X,'Configured AED2 variables to simulate:')" + print "(5X,'Configured AED variables to simulate:')" j = 0 - DO i=1,n_aed2_vars - IF ( aed2_get_var(i, tvar) ) THEN + DO i=1,n_aed_vars + IF ( aed_get_var(i, tvar) ) THEN IF ( .NOT. (tvar%sheet .OR. tvar%diag .OR. tvar%extern) ) THEN j = j + 1 names(j) = TRIM(tvar%name) min_(j) = tvar%minimum max_(j) = tvar%maximum - !print *," S(",j,") AED2 pelagic(3D) variable: ", TRIM(names(j)) + !print *," S(",j,") AED pelagic(3D) variable: ", TRIM(names(j)) print "(7X,'S(',I4,') water column variable : ',A)",j , TRIM(names(j)) ENDIF ENDIF ENDDO j = 0 - DO i=1,n_aed2_vars - IF ( aed2_get_var(i, tvar) ) THEN + DO i=1,n_aed_vars + IF ( aed_get_var(i, tvar) ) THEN IF ( tvar%sheet .AND. .NOT. (tvar%diag .OR. tvar%extern) ) THEN j = j + 1 bennames(j) = TRIM(tvar%name) min_(n_vars+j) = tvar%minimum max_(n_vars+j) = tvar%maximum - !print *," B(",j,") AED2 benthic(2D) variable: ", TRIM(bennames(j)) + !print *," B(",j,") AED benthic(2D) variable: ", TRIM(bennames(j)) print "(7X,'B(',I4,') bottom variable + ',A)",j , TRIM(bennames(j)) ENDIF ENDIF ENDDO j = 0 - DO i=1,n_aed2_vars - IF ( aed2_get_var(i, tvar) ) THEN + DO i=1,n_aed_vars + IF ( aed_get_var(i, tvar) ) THEN IF ( tvar%diag ) THEN IF ( .NOT. tvar%sheet ) THEN j = j + 1 print "(7X,'D(',I4,') water column diagnostic > ',A)",j , TRIM(tvar%name) - !print *," D(",j,") AED2 diagnostic 3Dvariable: ", TRIM(tvar%name) + !print *," D(",j,") AED diagnostic 3Dvariable: ", TRIM(tvar%name) ENDIF ENDIF ENDIF ENDDO j = 0 - DO i=1,n_aed2_vars - IF ( aed2_get_var(i, tvar) ) THEN + DO i=1,n_aed_vars + IF ( aed_get_var(i, tvar) ) THEN IF ( tvar%diag ) THEN IF (tvar%sheet ) THEN j = j + 1 - !print *," D(",j,") AED2 diagnostic 2Dvariable: ", TRIM(tvar%name) + !print *," D(",j,") AED diagnostic 2Dvariable: ", TRIM(tvar%name) print "(7X,'D(',I4,') bottom/surface diagnostic ~ ',A)",j , TRIM(tvar%name) ENDIF ENDIF ENDIF ENDDO -! ALLOCATE(column(n_aed2_vars)) - ALLOCATE(externalid(n_aed2_vars)) +! ALLOCATE(column(n_aed_vars)) + ALLOCATE(externalid(n_aed_vars)) !---------------------------------------------------------------------------- !# Now set initial values v = 0 ; sv = 0; - DO av=1,n_aed2_vars - IF ( .NOT. aed2_get_var(av, tvar) ) STOP " ERROR getting variable info" + DO av=1,n_aed_vars + IF ( .NOT. aed_get_var(av, tvar) ) STOP " ERROR getting variable info" IF ( .NOT. ( tvar%extern .OR. tvar%diag) ) THEN !# neither global nor diagnostic variable IF ( tvar%sheet ) THEN sv = sv + 1 @@ -433,7 +434,7 @@ SUBROUTINE aed2_init_glm(i_fname,len,MaxLayers,NumWQ_Vars,NumWQ_Ben,pKw) BIND(C, !# Allocate array with vertical movement rates (m/s, positive for upwards), !# and set these to the values provided by the model. !# allocated for all vars even though only state vars entries will be used - ALLOCATE(ws(MaxLayers, n_aed2_vars),stat=rc) + ALLOCATE(ws(MaxLayers, n_aed_vars),stat=rc) IF (rc /= 0) STOP 'allocate_memory(): Error allocating (ws)' ws = zero_ @@ -467,14 +468,14 @@ SUBROUTINE aed2_init_glm(i_fname,len,MaxLayers,NumWQ_Vars,NumWQ_Ben,pKw) BIND(C, IF (rc /= 0) STOP 'allocate_memory(): Error allocating (tss)' tss = zero_ - write(*,"(/,5X,'---------- AED2 config : end ----------',/)") + write(*,"(/,5X,'---------- AED config : end ----------',/)") -END SUBROUTINE aed2_init_glm +END SUBROUTINE aed_init_glm !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !############################################################################### -CINTEGER FUNCTION aed2_is_var(id,i_vname,len) BIND(C, name=_WQ_IS_VAR) +CINTEGER FUNCTION aed_is_var(id,i_vname,len) BIND(C, name=_WQ_IS_VAR) !------------------------------------------------------------------------------- !ARGUMENTS CINTEGER,INTENT(in) :: id @@ -482,29 +483,29 @@ END SUBROUTINE aed2_init_glm CSIZET,INTENT(in) :: len !LOCALS CHARACTER(len=45) :: vname - TYPE(aed2_variable_t),POINTER :: tvar + TYPE(aed_variable_t),POINTER :: tvar INTEGER :: i, v, sv, d, sd !------------------------------------------------------------------------------- !BEGIN CALL make_string(vname, i_vname, len) v = 0; sv = 0; d = 0; sd = 0 - DO i=1,n_aed2_vars - IF ( aed2_get_var(i, tvar) ) THEN + DO i=1,n_aed_vars + IF ( aed_get_var(i, tvar) ) THEN IF ( .NOT. (tvar%diag .OR. tvar%extern) ) THEN IF ( tvar%sheet ) THEN ; sv=sv+1; ELSE ; v=v+1 ; ENDIF IF ( TRIM(tvar%name) == vname ) THEN IF (tvar%sheet) THEN IF (benthic_mode .GT. 1) THEN - aed2_is_var=sv + aed_is_var=sv ELSE - aed2_is_var=-sv + aed_is_var=-sv ENDIF #ifdef PLOTS plot_id_sv(sv) = id; #endif ELSE - aed2_is_var=v + aed_is_var=v #ifdef PLOTS plot_id_v(v) = id; #endif @@ -515,12 +516,12 @@ END SUBROUTINE aed2_init_glm IF ( tvar%sheet ) THEN ; sd=sd+1; ELSE ; d=d+1 ; ENDIF IF ( TRIM(tvar%name) == vname ) THEN IF (tvar%sheet) THEN - aed2_is_var=-sd + aed_is_var=-sd #ifdef PLOTS plot_id_sd(sd) = id; #endif ELSE - aed2_is_var=d + aed_is_var=d #ifdef PLOTS plot_id_d(d) = id; #endif @@ -530,13 +531,13 @@ END SUBROUTINE aed2_init_glm ENDIF ENDIF ENDDO - aed2_is_var = 0 -END FUNCTION aed2_is_var + aed_is_var = 0 +END FUNCTION aed_is_var !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !############################################################################### -SUBROUTINE aed2_set_glm_data(Lake, MaxLayers, MetData, SurfData, dt_, & +SUBROUTINE aed_set_glm_data(Lake, MaxLayers, MetData, SurfData, dt_, & c_rain_factor, c_sw_factor, c_friction) & BIND(C, name=_WQ_SET_GLM_DATA) !------------------------------------------------------------------------------- @@ -589,7 +590,7 @@ SUBROUTINE aed2_set_glm_data(Lake, MaxLayers, MetData, SurfData, dt_, & !# Copy scalars that will not change during simulation, and are needed in do_glm_wq) dt = dt_ - !# Provide pointers to arrays with environmental variables to aed2. + !# Provide pointers to arrays with environmental variables to aed. wnd => MetData%WindSpeed I_0 => MetData%ShortWave @@ -605,7 +606,7 @@ SUBROUTINE aed2_set_glm_data(Lake, MaxLayers, MetData, SurfData, dt_, & !# Trigger an error if WQ hasn't got all it needs from us. CALL check_data -END SUBROUTINE aed2_set_glm_data +END SUBROUTINE aed_set_glm_data !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -619,14 +620,14 @@ SUBROUTINE check_data !LOCALS INTEGER :: av !, i INTEGER :: v, d, sv, sd, ev, err_count - TYPE(aed2_variable_t),POINTER :: tvar + TYPE(aed_variable_t),POINTER :: tvar !------------------------------------------------------------------------------- !BEGIN v = 0 ; d = 0; sv = 0; sd = 0 ; ev = 0 err_count = 0 - DO av=1,n_aed2_vars - IF ( .NOT. aed2_get_var(av, tvar) ) STOP "Error getting variable info" + DO av=1,n_aed_vars + IF ( .NOT. aed_get_var(av, tvar) ) STOP "Error getting variable info" IF ( tvar%extern ) THEN !# global variable ev = ev + 1 @@ -687,7 +688,7 @@ SUBROUTINE define_sed_column(column, top, flux_pel, flux_atm, flux_ben) ! Set up the current column pointers !------------------------------------------------------------------------------- !ARGUMENTS - TYPE (aed2_column_t), INTENT(inout) :: column(:) + TYPE (aed_column_t), INTENT(inout) :: column(:) INTEGER, INTENT(in) :: top AED_REAL, TARGET, INTENT(inout) :: flux_pel(:,:) !# (n_layers, n_vars) AED_REAL, TARGET, INTENT(inout) :: flux_atm(:) !# (n_vars) @@ -696,12 +697,12 @@ SUBROUTINE define_sed_column(column, top, flux_pel, flux_atm, flux_ben) !LOCALS INTEGER :: av !, i INTEGER :: v, d, sv, sd, ev - TYPE(aed2_variable_t),POINTER :: tvar + TYPE(aed_variable_t),POINTER :: tvar !------------------------------------------------------------------------------- !BEGIN v = 0 ; d = 0; sv = 0; sd = 0 ; ev = 0 - DO av=1,n_aed2_vars - IF ( .NOT. aed2_get_var(av, tvar) ) STOP "Error getting variable info" + DO av=1,n_aed_vars + IF ( .NOT. aed_get_var(av, tvar) ) STOP "Error getting variable info" IF ( tvar%extern ) THEN !# global variable ev = ev + 1 @@ -764,7 +765,7 @@ SUBROUTINE define_column(column, top, cc, cc_diag, flux_pel, flux_atm, flux_ben) ! Set up the current column pointers !------------------------------------------------------------------------------- !ARGUMENTS - TYPE (aed2_column_t), INTENT(inout) :: column(:) + TYPE (aed_column_t), INTENT(inout) :: column(:) INTEGER, INTENT(in) :: top AED_REAL, TARGET, INTENT(in) :: cc(:,:) !# (n_layers, n_vars) AED_REAL, TARGET, INTENT(in) :: cc_diag(:,:) !# (n_layers, n_vars) @@ -775,12 +776,12 @@ SUBROUTINE define_column(column, top, cc, cc_diag, flux_pel, flux_atm, flux_ben) !LOCALS INTEGER :: av !, i INTEGER :: v, d, sv, sd, ev - TYPE(aed2_variable_t),POINTER :: tvar + TYPE(aed_variable_t),POINTER :: tvar !------------------------------------------------------------------------------- !BEGIN v = 0 ; d = 0; sv = 0; sd = 0 ; ev = 0 - DO av=1,n_aed2_vars - IF ( .NOT. aed2_get_var(av, tvar) ) STOP "Error getting variable info" + DO av=1,n_aed_vars + IF ( .NOT. aed_get_var(av, tvar) ) STOP "Error getting variable info" IF ( tvar%extern ) THEN !# global variable ev = ev + 1 @@ -848,8 +849,8 @@ SUBROUTINE calculate_fluxes(column, wlev, column_sed, nsed, flux_pel, flux_atm, USE IEEE_ARITHMETIC #endif !ARGUMENTS - TYPE (aed2_column_t), INTENT(inout) :: column(:) - TYPE (aed2_column_t), INTENT(inout) :: column_sed(:) + TYPE (aed_column_t), INTENT(inout) :: column(:) + TYPE (aed_column_t), INTENT(inout) :: column_sed(:) INTEGER, INTENT(in) :: wlev, nsed AED_REAL, INTENT(inout) :: flux_pel(:,:) !# (wlev, n_vars+n_vars_ben) AED_REAL, INTENT(inout) :: flux_atm(:) !# (n_vars+n_vars_ben) @@ -863,7 +864,7 @@ SUBROUTINE calculate_fluxes(column, wlev, column_sed, nsed, flux_pel, flux_atm, AED_REAL, DIMENSION(n_zones, n_vars+n_vars_ben) :: flux_pel_z AED_REAL :: localrainl, localshade, localdrag LOGICAL :: splitZone - TYPE(aed2_variable_t),POINTER :: tvar + TYPE(aed_variable_t),POINTER :: tvar !------------------------------------------------------------------------------- !BEGIN flux_pel = zero_ @@ -894,8 +895,8 @@ SUBROUTINE calculate_fluxes(column, wlev, column_sed, nsed, flux_pel, flux_atm, ! !MH WE NEED A COLUMN TO CC VAR MAP FOR BENTHIC GUYS !CAB Yes, a map (or 2 maps) would be better, but QnD since this all needs reworking sv = 0 ; sd = 0 - DO av=1,n_aed2_vars - IF ( .NOT. aed2_get_var(av, tvar) ) STOP "Error getting variable info" + DO av=1,n_aed_vars + IF ( .NOT. aed_get_var(av, tvar) ) STOP "Error getting variable info" IF ( .NOT. tvar%extern .AND. tvar%sheet ) THEN IF ( tvar%diag ) THEN sd = sd + 1 @@ -910,19 +911,19 @@ SUBROUTINE calculate_fluxes(column, wlev, column_sed, nsed, flux_pel, flux_atm, ENDIF IF ( benthic_mode .EQ. 3 ) THEN !# Zone is able to operated on by riparian and dry methods - CALL aed2_calculate_riparian(column_sed, zon, theZones(zon)%z_pc_wet) - IF (theZones(zon)%z_pc_wet .EQ. 0. ) CALL aed2_calculate_dry(column_sed, zon) + CALL aed_calculate_riparian(column_sed, zon, theZones(zon)%z_pc_wet) + IF (theZones(zon)%z_pc_wet .EQ. 0. ) CALL aed_calculate_dry(column_sed, zon) !# update feedback arrays to host model, to reduce rain (or if -ve then add flow) - CALL aed2_rain_loss(column, 1, localrainl); + CALL aed_rain_loss(column, 1, localrainl); IF (link_rain_loss) rain_factor = localrainl !# update feedback arrays to shade the water (ie reduce incoming light, Io) - CALL aed2_light_shading(column, 1, localshade) + CALL aed_light_shading(column, 1, localshade) IF (link_solar_shade) sw_factor = localshade !# now the bgc updates are complete, update links to host model - CALL aed2_bio_drag(column, 1, localdrag) + CALL aed_bio_drag(column, 1, localdrag) IF (link_bottom_drag) friction = localdrag ENDIF !# Calculate temporal derivatives due to benthic processes. @@ -930,7 +931,7 @@ SUBROUTINE calculate_fluxes(column, wlev, column_sed, nsed, flux_pel, flux_atm, flux_pel_pre = flux_pel ! print*,"Calling ben for zone ",zone_var,zon,z_sed_zones(zon) - CALL aed2_calculate_benthic(column_sed, zon) + CALL aed_calculate_benthic(column_sed, zon) !# Record benthic fluxes in the zone array flux_zon(zon, :) = flux_ben(:) @@ -987,7 +988,7 @@ SUBROUTINE calculate_fluxes(column, wlev, column_sed, nsed, flux_pel, flux_atm, !# Calculate temporal derivatives due to exchanges at the sediment/water interface IF ( zone_var .GE. 1 ) column(zone_var)%cell_sheet => theZones(1)%z_sed_zones - CALL aed2_calculate_benthic(column, 1) + CALL aed_calculate_benthic(column, 1) !# Limit flux out of bottom layers to concentration of that layer !# i.e. don't flux out more than is there @@ -998,7 +999,7 @@ SUBROUTINE calculate_fluxes(column, wlev, column_sed, nsed, flux_pel, flux_atm, !$OMP DO DO lev=2,wlev !# Calculate temporal derivatives due to benthic fluxes. - CALL aed2_calculate_benthic(column, lev) + CALL aed_calculate_benthic(column, lev) !# Limit flux out of bottom layers to concentration of that layer !# i.e. don't flux out more than is there @@ -1014,7 +1015,7 @@ SUBROUTINE calculate_fluxes(column, wlev, column_sed, nsed, flux_pel, flux_atm, !# (2) SURFACE FLUXES !# Calculate temporal derivatives due to air-water exchange. IF (.NOT. lIce) THEN !# no surface exchange under ice cover - CALL aed2_calculate_surface(column, wlev) + CALL aed_calculate_surface(column, wlev) !# Distribute the fluxes into pelagic surface layer flux_pel(wlev, :) = flux_pel(wlev, :) + flux_atm(:)/dz(wlev) @@ -1023,7 +1024,7 @@ SUBROUTINE calculate_fluxes(column, wlev, column_sed, nsed, flux_pel, flux_atm, !# (3) WATER COLUMN KINETICS !# Add pelagic sink and source terms for all depth levels. DO lev=1,wlev - CALL aed2_calculate(column, lev) + CALL aed_calculate(column, lev) ENDDO END SUBROUTINE calculate_fluxes !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -1038,11 +1039,11 @@ SUBROUTINE check_states(column, wlev) #endif ! !ARGUMENTS - TYPE (aed2_column_t),INTENT(inout) :: column(:) + TYPE (aed_column_t),INTENT(inout) :: column(:) INTEGER,INTENT(in) :: wlev ! !LOCALS - TYPE(aed2_variable_t),POINTER :: tv + TYPE(aed_variable_t),POINTER :: tv INTEGER :: i,v,lev #if DEBUG INTEGER :: last_naned @@ -1054,10 +1055,10 @@ SUBROUTINE check_states(column, wlev) last_naned = -1 #endif DO lev=1, wlev - CALL aed2_equilibrate(column, lev) !MH this should be in the main do_glm routine ????!!! + CALL aed_equilibrate(column, lev) !MH this should be in the main do_glm routine ????!!! v = 0 - DO i=1,n_aed2_vars - IF ( aed2_get_var(i, tv) ) THEN + DO i=1,n_aed_vars + IF ( aed_get_var(i, tv) ) THEN IF ( .NOT. (tv%diag .OR. tv%extern) ) THEN v = v + 1 IF ( repair_state ) THEN @@ -1078,7 +1079,7 @@ SUBROUTINE check_states(column, wlev) #if DEBUG IF ( last_naned > -1 ) THEN - IF ( aed2_get_var(last_naned, tv) ) THEN + IF ( aed_get_var(last_naned, tv) ) THEN print*,"NaNs detected in CC in var ", TRIM(tv%name) ELSE print*,"NaNs detected in CC unidentified var" @@ -1091,7 +1092,7 @@ END SUBROUTINE check_states !############################################################################### -SUBROUTINE aed2_do_glm(wlev, pIce) BIND(C, name=_WQ_DO_GLM) +SUBROUTINE aed_do_glm(wlev, pIce) BIND(C, name=_WQ_DO_GLM) !------------------------------------------------------------------------------- ! wlev is the number of levels used; !------------------------------------------------------------------------------- @@ -1105,13 +1106,13 @@ SUBROUTINE aed2_do_glm(wlev, pIce) BIND(C, name=_WQ_DO_GLM) CLOGICAL,INTENT(in) :: pIce ! !LOCALS - TYPE(aed2_variable_t),POINTER :: tv + TYPE(aed_variable_t),POINTER :: tv AED_REAL :: min_C, surf INTEGER :: i, j, v, lev, split - TYPE (aed2_column_t) :: column(n_aed2_vars) - TYPE (aed2_column_t) :: column_sed(n_aed2_vars) + TYPE (aed_column_t) :: column(n_aed_vars) + TYPE (aed_column_t) :: column_sed(n_aed_vars) AED_REAL :: flux_ben(n_vars+n_vars_ben), flux_atm(n_vars+n_vars_ben) AED_REAL :: flux(wlev, n_vars+n_vars_ben) AED_REAL :: flux_zone(n_zones, n_vars+n_vars_ben) @@ -1157,8 +1158,8 @@ SUBROUTINE aed2_do_glm(wlev, pIce) BIND(C, name=_WQ_DO_GLM) IF ( .NOT. mobility_off ) THEN v = 0 - DO i=1,n_aed2_vars - IF ( aed2_get_var(i, tv) ) THEN + DO i=1,n_aed_vars + IF ( aed_get_var(i, tv) ) THEN IF ( .NOT. (tv%sheet .OR. tv%diag .OR. tv%extern) ) THEN v = v + 1 ws(:,i) = zero_ @@ -1173,16 +1174,16 @@ SUBROUTINE aed2_do_glm(wlev, pIce) BIND(C, name=_WQ_DO_GLM) ENDDO DO i = 1, wlev ! update ws for modules that use the mobility method - CALL aed2_mobility(column, i, ws(i,:)) + CALL aed_mobility(column, i, ws(i,:)) ENDDO !# (3) Calculate source/sink terms due to the settling or rising of !# state variables in the water column (note that settling into benthos - !# is done in aed2_do_benthos) + !# is done in aed_do_benthos) v = 0 - DO i=1,n_aed2_vars + DO i=1,n_aed_vars - IF ( aed2_get_var(i, tv) ) THEN + IF ( aed_get_var(i, tv) ) THEN IF ( .NOT. (tv%sheet .OR. tv%diag .OR. tv%extern) ) THEN v = v + 1 !# only for state_vars that are not sheet, and also non-zero ws @@ -1205,7 +1206,7 @@ SUBROUTINE aed2_do_glm(wlev, pIce) BIND(C, name=_WQ_DO_GLM) !# Update local light field (self-shading may have changed through !# changes in biological state variables). Update_light is set to - !# be inline with current aed2_phyoplankton, which requires only + !# be inline with current aed_phyoplankton, which requires only !# surface par, then integrates over depth of a layer CALL update_light(column, wlev) @@ -1245,12 +1246,12 @@ SUBROUTINE aed2_do_glm(wlev, pIce) BIND(C, name=_WQ_DO_GLM) CALL check_states(column, wlev) ENDDO -END SUBROUTINE aed2_do_glm +END SUBROUTINE aed_do_glm !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !############################################################################### -SUBROUTINE aed2_clean_glm() BIND(C, name=_WQ_CLEAN_GLM) +SUBROUTINE aed_clean_glm() BIND(C, name=_WQ_CLEAN_GLM) !------------------------------------------------------------------------------- ! Finish biogeochemical model !------------------------------------------------------------------------------- @@ -1267,7 +1268,7 @@ SUBROUTINE aed2_clean_glm() BIND(C, name=_WQ_CLEAN_GLM) IF (ALLOCATED(uvb)) DEALLOCATE(uvb) IF (ALLOCATED(pres)) DEALLOCATE(pres) IF (ALLOCATED(dz)) DEALLOCATE(dz) -END SUBROUTINE aed2_clean_glm +END SUBROUTINE aed_clean_glm !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -1278,7 +1279,7 @@ SUBROUTINE update_light(column, nlev) ! on surface radiation, attenuated based on background & biotic extinction !------------------------------------------------------------------------------- !ARGUMENTS - TYPE (aed2_column_t), INTENT(inout) :: column(:) + TYPE (aed_column_t), INTENT(inout) :: column(:) INTEGER,INTENT(in) :: nlev ! !LOCALS @@ -1291,7 +1292,7 @@ SUBROUTINE update_light(column, nlev) localext = zero_; localext_up = zero_ ! Surface Kd - CALL aed2_light_extinction(column, nlev, localext) + CALL aed_light_extinction(column, nlev, localext) ! Surface PAR par(nlev) = par_fraction * rad(nlev) * EXP( -(lKw+localext)*1e-6*dz(nlev) ) @@ -1300,7 +1301,7 @@ SUBROUTINE update_light(column, nlev) DO i = (nlev-1),1,-1 localext_up = localext - CALL aed2_light_extinction(column, i, localext) + CALL aed_light_extinction(column, i, localext) par(i) = par(i+1) * EXP( -(lKw + localext_up) * dz(i+1) ) @@ -1313,7 +1314,7 @@ END SUBROUTINE update_light !############################################################################### -SUBROUTINE aed2_init_glm_output(ncid,x_dim,y_dim,z_dim,zone_dim,time_dim) BIND(C, name=_WQ_INIT_GLM_OUTPUT) +SUBROUTINE aed_init_glm_output(ncid,x_dim,y_dim,z_dim,zone_dim,time_dim) BIND(C, name=_WQ_INIT_GLM_OUTPUT) !------------------------------------------------------------------------------- ! Initialize the output by defining biogeochemical variables. !------------------------------------------------------------------------------- @@ -1325,7 +1326,7 @@ SUBROUTINE aed2_init_glm_output(ncid,x_dim,y_dim,z_dim,zone_dim,time_dim) BIND(C INTEGER i !, v, d INTEGER dims(4) - TYPE(aed2_variable_t),POINTER :: tv + TYPE(aed_variable_t),POINTER :: tv ! !------------------------------------------------------------------------------- !BEGIN @@ -1339,8 +1340,8 @@ SUBROUTINE aed2_init_glm_output(ncid,x_dim,y_dim,z_dim,zone_dim,time_dim) BIND(C dims(4) = time_dim ! v = 0; d = 0 - DO i=1,n_aed2_vars - IF ( aed2_get_var(i, tv) ) THEN + DO i=1,n_aed_vars + IF ( aed_get_var(i, tv) ) THEN IF ( .NOT. (tv%sheet .OR. tv%extern) ) THEN !# only for state and diag vars that are not sheet externalid(i) = NEW_NC_VARIABLE(ncid, TRIM(tv%name), LEN_TRIM(tv%name), NF90_REALTYPE, 4, dims(1:4)) @@ -1358,8 +1359,8 @@ SUBROUTINE aed2_init_glm_output(ncid,x_dim,y_dim,z_dim,zone_dim,time_dim) BIND(C !print*,x_dim,y_dim,zone_dim,time_dim ! v = 0; d = 0 - DO i=1,n_aed2_vars - IF ( aed2_get_var(i, tv) ) THEN + DO i=1,n_aed_vars + IF ( aed_get_var(i, tv) ) THEN IF ( tv%sheet .AND. .NOT. tv%extern ) THEN !# only for state and diag sheet vars externalid(i) = NEW_NC_VARIABLE(ncid, TRIM(tv%name), LEN_TRIM(tv%name), NF90_REALTYPE, 4, dims(1:4)) @@ -1374,8 +1375,8 @@ SUBROUTINE aed2_init_glm_output(ncid,x_dim,y_dim,z_dim,zone_dim,time_dim) BIND(C dims(3) = time_dim ! v = 0; d = 0 - DO i=1,n_aed2_vars - IF ( aed2_get_var(i, tv) ) THEN + DO i=1,n_aed_vars + IF ( aed_get_var(i, tv) ) THEN IF ( tv%sheet .AND. .NOT. tv%extern ) THEN !# only for state and diag sheet vars externalid(i) = NEW_NC_VARIABLE(ncid, TRIM(tv%name), LEN_TRIM(tv%name), NF90_REALTYPE, 3, dims(1:3)) @@ -1387,7 +1388,7 @@ SUBROUTINE aed2_init_glm_output(ncid,x_dim,y_dim,z_dim,zone_dim,time_dim) BIND(C !# Take NetCDF library out of define mode (ready for storing data). CALL define_mode_off(ncid) -END SUBROUTINE aed2_init_glm_output +END SUBROUTINE aed_init_glm_output !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -1395,14 +1396,14 @@ END SUBROUTINE aed2_init_glm_output ! Save properties of biogeochemical model, including state variable ! values, diagnostic variable values, and sums of conserved quantities. !------------------------------------------------------------------------------- -SUBROUTINE aed2_write_glm(ncid,wlev,nlev,lvl,point_nlevs) BIND(C, name=_WQ_WRITE_GLM_) +SUBROUTINE aed_write_glm(ncid,wlev,nlev,lvl,point_nlevs) BIND(C, name=_WQ_WRITE_GLM_) !------------------------------------------------------------------------------- !ARGUMENTS CINTEGER,INTENT(in) :: ncid, wlev, nlev CINTEGER,INTENT(in) :: lvl(*), point_nlevs ! !LOCALS - TYPE(aed2_variable_t),POINTER :: tv + TYPE(aed_variable_t),POINTER :: tv INTEGER :: i, j, v, d, sv, sd AED_REAL :: val_out @@ -1411,8 +1412,8 @@ SUBROUTINE aed2_write_glm(ncid,wlev,nlev,lvl,point_nlevs) BIND(C, name=_WQ_WRITE !------------------------------------------------------------------------------- !BEGIN v = 0; d = 0; sv = 0; sd = 0 - DO i=1,n_aed2_vars - IF ( aed2_get_var(i, tv) ) THEN + DO i=1,n_aed_vars + IF ( aed_get_var(i, tv) ) THEN IF ( tv%diag ) THEN !# Process and store diagnostic variables. IF ( tv%sheet ) THEN @@ -1475,12 +1476,12 @@ SUBROUTINE aed2_write_glm(ncid,wlev,nlev,lvl,point_nlevs) BIND(C, name=_WQ_WRITE ENDIF ENDIF ENDDO -END SUBROUTINE aed2_write_glm +END SUBROUTINE aed_write_glm !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ !############################################################################### -CINTEGER FUNCTION aed2_var_index_c(name, len) BIND(C, name=_WQ_VAR_INDEX_C) +CINTEGER FUNCTION aed_var_index_c(name, len) BIND(C, name=_WQ_VAR_INDEX_C) !------------------------------------------------------------------------------- !ARGUMENTS CCHARACTER,INTENT(in) :: name(*) @@ -1494,8 +1495,8 @@ END SUBROUTINE aed2_write_glm tn=tn//' ' tn(i:i) = name(i) ENDDO - aed2_var_index_c = WQVar_Index(tn) - 1 -END FUNCTION aed2_var_index_c + aed_var_index_c = WQVar_Index(tn) - 1 +END FUNCTION aed_var_index_c !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -1506,14 +1507,14 @@ INTEGER FUNCTION WQVar_Index(name) CHARACTER(len=*) :: name ! !LOCALS - TYPE(aed2_variable_t),POINTER :: tv + TYPE(aed_variable_t),POINTER :: tv INTEGER i,v ! !------------------------------------------------------------------------------- !BEGIN v = 0 - DO i=1, n_aed2_vars - IF ( aed2_get_var(i, tv) .AND. .NOT. (tv%sheet .OR. tv%diag .OR. tv%extern) ) THEN + DO i=1, n_aed_vars + IF ( aed_get_var(i, tv) .AND. .NOT. (tv%sheet .OR. tv%diag .OR. tv%extern) ) THEN v = v + 1 IF ( name .EQ. tv%name ) THEN WQVar_Index = v @@ -1525,4 +1526,4 @@ INTEGER FUNCTION WQVar_Index(name) END FUNCTION WQVar_Index !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -END MODULE glm_aed2 +END MODULE glm_aed diff --git a/src/glm_init.c b/src/glm_init.c index b812717..845ae0f 100644 --- a/src/glm_init.c +++ b/src/glm_init.c @@ -53,8 +53,8 @@ #define DEFAULT_GLM_NML "glm3.nml" #define DEFAULT_GLM_NML_2 "glm2.nml" -#define DEFAULT_WQ_LIB "aed2" -#define DEFAULT_WQ_NML "aed2.nml" +#define DEFAULT_WQ_LIB "aed" +#define DEFAULT_WQ_NML "aed.nml" //#define dbgprt(...) fprintf(stderr, __VA_ARGS__) #define dbgprt(...) /* __VA_ARGS__ */ @@ -1043,8 +1043,10 @@ for (i = 0; i < n_zones; i++) { if ( (n_zones <= 0 || zone_heights == NULL) ) { fprintf(stderr, " benthic_mode %d must define zones\n", benthic_mode); exit(1); +#ifdef AED } else { wq_set_glm_zones(theZones, &n_zones, &Num_WQ_Vars, &Num_WQ_Ben); +#endif } } @@ -1061,8 +1063,10 @@ for (i = 0; i < n_zones; i++) { } } +#ifdef AED wq_set_glm_data(Lake, &MaxLayers, &MetData, &SurfData, &dt, rain_factor, sw_factor, biodrag); +#endif } diff --git a/src/glm_surface.c b/src/glm_surface.c index 3231b8c..7ff7dd2 100644 --- a/src/glm_surface.c +++ b/src/glm_surface.c @@ -1108,7 +1108,9 @@ void do_surface_thermodynamics(int jday, int iclock, int LWModel, sed_temps ); // &soil_heat_flux ); */ +#ifdef AED ZSoilTemp(&theZones[z]); +#endif // flux heat from the soil into the water, if the layer is over z for (i = botmLayer+1; i <= surfLayer; i++) { if (layer_zone[i] == z){ diff --git a/src/glm_types.h b/src/glm_types.h index 0af09a0..d740e32 100644 --- a/src/glm_types.h +++ b/src/glm_types.h @@ -134,8 +134,8 @@ typedef char filname[80]; typedef struct OutflowDataType { int Type; // outflow type AED_REAL Hcrit; // outlet height when crit O2 - int O2idx; // O2 parameter idx in AED2/FABM - char O2name; // O2 parameter name in AED2/FABM + int O2idx; // O2 parameter idx in AED/FABM + char O2name; // O2 parameter name in AED/FABM AED_REAL TARGETtemp; // Isotherm for withdrawal switch 4 AED_REAL OLev; // distance below surface level AED_REAL OLen; // basin length at the outlet diff --git a/src/glm_wqual.c b/src/glm_wqual.c index a2a5efd..6e5559c 100644 --- a/src/glm_wqual.c +++ b/src/glm_wqual.c @@ -165,18 +165,18 @@ int prime_wq(const char *which) exit(1); #endif } else { -#ifdef AED2 - p_wq_init_glm = (wq_init_glm_t) aed2_init_glm; - p_wq_set_glm_data = (wq_set_glm_data_t) aed2_set_glm_data; - p_wq_do_glm = (wq_do_glm_t) aed2_do_glm; - p_wq_clean_glm = (wq_clean_glm_t) aed2_clean_glm; - p_wq_init_glm_output = (wq_init_glm_output_t) aed2_init_glm_output; - p_wq_write_glm = (wq_write_glm_t) aed2_write_glm; - p_wq_var_index_c = (wq_var_index_c_t) aed2_var_index_c; - p_wq_set_flags = (wq_set_flags_t) aed2_set_flags; - p_wq_is_var = (wq_is_var_t) aed2_is_var; +#ifdef AED + p_wq_init_glm = (wq_init_glm_t) aed_init_glm; + p_wq_set_glm_data = (wq_set_glm_data_t) aed_set_glm_data; + p_wq_do_glm = (wq_do_glm_t) aed_do_glm; + p_wq_clean_glm = (wq_clean_glm_t) aed_clean_glm; + p_wq_init_glm_output = (wq_init_glm_output_t) aed_init_glm_output; + p_wq_write_glm = (wq_write_glm_t) aed_write_glm; + p_wq_var_index_c = (wq_var_index_c_t) aed_var_index_c; + p_wq_set_flags = (wq_set_flags_t) aed_set_flags; + p_wq_is_var = (wq_is_var_t) aed_is_var; #else - fprintf(stderr, "AED2 not supported in this build\n"); + fprintf(stderr, "AED not supported in this build\n"); exit(1); #endif diff --git a/src/glm_wqual.h b/src/glm_wqual.h index 71e9b43..b036b55 100644 --- a/src/glm_wqual.h +++ b/src/glm_wqual.h @@ -104,19 +104,19 @@ void fabm_set_flags(int *split_factor, CLOGICAL *mobility, CLOGICAL *bioshade, C int *ode_method, int *benthic_mode, CLOGICAL *do_plots); int fabm_is_var(int *id, const char *v, size_t *len); -void aed2_init_glm(char *fname, size_t *len, int *kk, int *NumWQVars, int *NumWQBen, AED_REAL *pKw); -void aed2_set_glm_data(void *Lake, int *MaxLayers, +void aed_init_glm(char *fname, size_t *len, int *kk, int *NumWQVars, int *NumWQBen, AED_REAL *pKw); +void aed_set_glm_data(void *Lake, int *MaxLayers, MetDataType *MetData, SurfaceDataType *SurfData, AED_REAL *dt, AED_REAL *c_rain_factor, AED_REAL *c_sw_factor, AED_REAL *c_friction); -void aed2_do_glm(int *wlev, int *pIce); -void aed2_clean_glm(void); -void aed2_init_glm_output(int *ncid, int *x_dim, int *y_dim, int *z_dim, int *zone_dim, int *time_dim); -void aed2_write_glm(int *ncid, int *wlev, int *nlev, int *lvl, int *point_nlevs); -int aed2_var_index_c(const char*name, size_t *len); -void aed2_set_flags(int *split_factor, CLOGICAL *mobility, CLOGICAL *bioshade, CLOGICAL *repair_state, +void aed_do_glm(int *wlev, int *pIce); +void aed_clean_glm(void); +void aed_init_glm_output(int *ncid, int *x_dim, int *y_dim, int *z_dim, int *zone_dim, int *time_dim); +void aed_write_glm(int *ncid, int *wlev, int *nlev, int *lvl, int *point_nlevs); +int aed_var_index_c(const char*name, size_t *len); +void aed_set_flags(int *split_factor, CLOGICAL *mobility, CLOGICAL *bioshade, CLOGICAL *repair_state, int *ode_method, int *benthic_mode, CLOGICAL *do_plots, CLOGICAL *c_link_rain_loss, CLOGICAL *c_link_solar_shade, CLOGICAL *c_link_bottom_drag); -int aed2_is_var(int *id, const char *v, size_t *len); +int aed_is_var(int *id, const char *v, size_t *len); void InitialTemp(int *m, const AED_REAL *depth, const AED_REAL *wv, const AED_REAL *topTemp, const AED_REAL *botTemp, diff --git a/src/glm_zones.F90 b/src/glm_zones.F90 index 3e1640d..d458d95 100644 --- a/src/glm_zones.F90 +++ b/src/glm_zones.F90 @@ -332,7 +332,7 @@ END SUBROUTINE copy_to_zone !############################################################################### SUBROUTINE GInitialTemp(m,depth,wv,topTemp,botTemp,nSPinUpDays,tNew) BIND(C, name="InitialTemp") !------------------------------------------------------------------------------- - USE aed2_util + USE aed_util !ARGUMENTS INTEGER,intent(in) :: m AED_REAL,intent(in) :: wv,depth(0:m+1) @@ -348,7 +348,7 @@ END SUBROUTINE GInitialTemp !############################################################################### SUBROUTINE ZSoilTemp(izone) BIND(C, name="ZSoilTemp") !------------------------------------------------------------------------------- - USE aed2_util + USE aed_util !ARGUMENTS TYPE(C_PTR),INTENT(inout) :: izone !LOCALS @@ -366,7 +366,7 @@ END SUBROUTINE ZSoilTemp !############################################################################### SUBROUTINE GSoilTemp(m,depth,wv,topTemp,temp,heatflux) BIND(C, name="SoilTemp") !------------------------------------------------------------------------------- - USE aed2_util + USE aed_util !ARGUMENTS INTEGER,intent(in) :: m AED_REAL,intent(in) :: depth(0:m+1), wv(m), topTemp diff --git a/win/glm+.rc b/win/glm+.rc index 2ec50a7..f3b20af 100644 --- a/win/glm+.rc +++ b/win/glm+.rc @@ -27,8 +27,8 @@ END //============================================================================== VS_VERSION_INFO VERSIONINFO - FILEVERSION 3.1.0 - PRODUCTVERSION 3.1.0 + FILEVERSION 3.2.0a1 + PRODUCTVERSION 3.2.0a1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -45,12 +45,12 @@ BEGIN BEGIN VALUE "CompanyName", "AED Group; University of Western Australia" VALUE "FileDescription", "General Lake Model (GLM) with AED+" - VALUE "FileVersion", 3.1.0 + VALUE "FileVersion", 3.2.0a1 VALUE "InternalName", "version.rc" VALUE "LegalCopyright", "Copyright (C) 2020" VALUE "OriginalFilename", "version.rc" VALUE "ProductName", "GLM+" - VALUE "ProductVersion", 3.1.0 + VALUE "ProductVersion", 3.2.0a1 END END BLOCK "VarFileInfo" diff --git a/win/glm.rc b/win/glm.rc index 4acda3b..04ca920 100644 --- a/win/glm.rc +++ b/win/glm.rc @@ -27,8 +27,8 @@ END //============================================================================== VS_VERSION_INFO VERSIONINFO - FILEVERSION 3.1.0 - PRODUCTVERSION 3.1.0 + FILEVERSION 3.2.0a1 + PRODUCTVERSION 3.2.0a1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -45,12 +45,12 @@ BEGIN BEGIN VALUE "CompanyName", "AED Group; University of Western Australia" VALUE "FileDescription", "General Lake Model (GLM)" - VALUE "FileVersion", 3.1.0 + VALUE "FileVersion", 3.2.0a1 VALUE "InternalName", "version.rc" VALUE "LegalCopyright", "Copyright (C) 2020" VALUE "OriginalFilename", "version.rc" VALUE "ProductName", "GLM" - VALUE "ProductVersion", 3.1.0 + VALUE "ProductVersion", 3.2.0a1 END END BLOCK "VarFileInfo" diff --git a/win/vs-glm-with-fabm/glm+.sln b/win/vs-glm-with-fabm/glm+.sln index 7b8daeb..09c3ee3 100644 --- a/win/vs-glm-with-fabm/glm+.sln +++ b/win/vs-glm-with-fabm/glm+.sln @@ -9,9 +9,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glm+", "glm+.vcxproj", "{5C EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libutil", "..\..\..\libutil\win\libutil.vcxproj", "{8EF4B62A-1CAF-4C2A-AF8F-FBAF3350EA84}" EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed2+", "..\..\..\libaed2-plus\win\libaed2+.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed+", "..\..\..\libaed-plus\win\libaed+.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "glm-aed2", "glm-aed2.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "glm-aed", "glm-aed.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" ProjectSection(ProjectDependencies) = postProject {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} EndProjectSection diff --git a/win/vs-glm-with-fabm/glm+.vcxproj b/win/vs-glm-with-fabm/glm+.vcxproj index fc7301f..66cec5f 100644 --- a/win/vs-glm-with-fabm/glm+.vcxproj +++ b/win/vs-glm-with-fabm/glm+.vcxproj @@ -73,7 +73,7 @@ Disabled ..\..\..\win-3rd-party\$(Platform)-$(Configuration)\include;..\..\..\libplot\include;..\..\..\libutil\include;..\ - AED2;FABM;PLOTS;XPLOTS;_CRT_SECURE_NO_WARNINGS + AED;FABM;PLOTS;XPLOTS;_CRT_SECURE_NO_WARNINGS MultiThreadedDebugDLL Level3 ProgramDatabase @@ -81,7 +81,7 @@ CompileAsC - glm-aed2.lib;libaed2+.lib;glm-fabm.lib;fabm.lib;libutil.lib;libplot.lib;%(AdditionalDependencies) + glm-aed.lib;libaed+.lib;glm-fabm.lib;fabm.lib;libutil.lib;libplot.lib;%(AdditionalDependencies) $(Platform)-$(Configuration)\;$(Platform)-$(Configuration)\lib\;..\..\..\win-3rd-party\$(Platform)-$(Configuration)\lib\;%(AdditionalLibraryDirectories) false diff --git a/win/vs-glm-with-fabm/glm-aed2.vfproj b/win/vs-glm-with-fabm/glm-aed.vfproj similarity index 83% rename from win/vs-glm-with-fabm/glm-aed2.vfproj rename to win/vs-glm-with-fabm/glm-aed.vfproj index 6df030d..5476342 100644 --- a/win/vs-glm-with-fabm/glm-aed2.vfproj +++ b/win/vs-glm-with-fabm/glm-aed.vfproj @@ -5,7 +5,7 @@ - + @@ -16,7 +16,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -38,7 +38,7 @@ - + @@ -52,7 +52,7 @@ - + diff --git a/win/vs-glm-with-fabm/glm.sln b/win/vs-glm-with-fabm/glm.sln index 0871592..5a1267d 100644 --- a/win/vs-glm-with-fabm/glm.sln +++ b/win/vs-glm-with-fabm/glm.sln @@ -9,9 +9,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glm", "glm.vcxproj", "{5CDB EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libutil", "..\..\..\libutil\win\libutil.vcxproj", "{8EF4B62A-1CAF-4C2A-AF8F-FBAF3350EA84}" EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed2", "..\..\..\libaed2\win\libaed2.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed", "..\..\..\libaed\win\libaed.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "glm-aed2", "glm-aed2.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "glm-aed", "glm-aed.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" ProjectSection(ProjectDependencies) = postProject {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} EndProjectSection diff --git a/win/vs-glm-with-fabm/glm.vcxproj b/win/vs-glm-with-fabm/glm.vcxproj index dd10071..9332199 100644 --- a/win/vs-glm-with-fabm/glm.vcxproj +++ b/win/vs-glm-with-fabm/glm.vcxproj @@ -70,13 +70,13 @@ ..\..\..\win-3rd-party\$(Platform)-$(Configuration)\include;..\..\..\libplot\include;..\..\..\libutil\include;..\ - AED2;FABM;PLOTS;XPLOTS;_CRT_SECURE_NO_WARNINGS + AED;FABM;PLOTS;XPLOTS;_CRT_SECURE_NO_WARNINGS Level3 Cdecl CompileAsC - glm-aed2.lib;libaed2.lib;glm-fabm.lib;fabm.lib;libutil.lib;libplot.lib;%(AdditionalDependencies) + glm-aed.lib;libaed.lib;glm-fabm.lib;fabm.lib;libutil.lib;libplot.lib;%(AdditionalDependencies) $(Platform)-$(Configuration)\;$(Platform)-$(Configuration)\lib\;..\..\..\win-3rd-party\$(Platform)-$(Configuration)\lib\;%(AdditionalLibraryDirectories) false diff --git a/win/vs-glm-wq-dll/libglm_wq_aed+.sln b/win/vs-glm-wq-dll/libglm_wq_aed+.sln new file mode 100644 index 0000000..36e6f0f --- /dev/null +++ b/win/vs-glm-wq-dll/libglm_wq_aed+.sln @@ -0,0 +1,111 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28010.2026 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libglm_wq_aed+", "libglm_wq_aed+.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" + ProjectSection(ProjectDependencies) = postProject + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233} = {D5BA5305-6D24-46A7-B41B-BECC6E6BF233} + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D} = {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D} + {813D3458-242F-4C00-9672-2F82CF39B63C} = {813D3458-242F-4C00-9672-2F82CF39B63C} + {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F} = {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F} + {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + {DD6B03EA-C505-45F1-AE15-AE29120D3620} = {DD6B03EA-C505-45F1-AE15-AE29120D3620} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libplugin", "libplugin.vcxproj", "{BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}" +EndProject +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-water", "..\..\..\libaed-water\win\libaed-water.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" +EndProject +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-benthic", "..\..\..\libaed-benthic\win\libaed-benthic.vfproj", "{D5BA5305-6D24-46A7-B41B-BECC6E6BF233}" + ProjectSection(ProjectDependencies) = postProject + {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + EndProjectSection +EndProject +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-demo", "..\..\..\libaed-demo\win\libaed-demo.vfproj", "{DD6B03EA-C505-45F1-AE15-AE29120D3620}" + ProjectSection(ProjectDependencies) = postProject + {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + EndProjectSection +EndProject +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-riparian", "..\..\..\libaed-riparian\win\libaed-riparian.vfproj", "{813D3458-242F-4C00-9672-2F82CF39B63C}" + ProjectSection(ProjectDependencies) = postProject + {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + EndProjectSection +EndProject +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-dev", "..\..\..\libaed-dev\win\libaed-dev.vfproj", "{D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}" + ProjectSection(ProjectDependencies) = postProject + {813D3458-242F-4C00-9672-2F82CF39B63C} = {813D3458-242F-4C00-9672-2F82CF39B63C} + {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|Win32.ActiveCfg = Debug|Win32 + {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|Win32.Build.0 = Debug|Win32 + {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|x64.ActiveCfg = Debug|x64 + {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|x64.Build.0 = Debug|x64 + {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|Win32.ActiveCfg = Release|Win32 + {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|Win32.Build.0 = Release|Win32 + {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|x64.ActiveCfg = Release|x64 + {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|x64.Build.0 = Release|x64 + {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Debug|Win32.ActiveCfg = Debug|Win32 + {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Debug|Win32.Build.0 = Debug|Win32 + {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Debug|x64.ActiveCfg = Debug|x64 + {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Debug|x64.Build.0 = Debug|x64 + {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Release|Win32.ActiveCfg = Release|Win32 + {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Release|Win32.Build.0 = Release|Win32 + {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Release|x64.ActiveCfg = Release|x64 + {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Release|x64.Build.0 = Release|x64 + {71B1A1B7-387A-4D58-8607-F9B24B896995}.Debug|Win32.ActiveCfg = Debug|Win32 + {71B1A1B7-387A-4D58-8607-F9B24B896995}.Debug|Win32.Build.0 = Debug|Win32 + {71B1A1B7-387A-4D58-8607-F9B24B896995}.Debug|x64.ActiveCfg = Debug|x64 + {71B1A1B7-387A-4D58-8607-F9B24B896995}.Debug|x64.Build.0 = Debug|x64 + {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|Win32.ActiveCfg = Release|Win32 + {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|Win32.Build.0 = Release|Win32 + {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|x64.ActiveCfg = Release|x64 + {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|x64.Build.0 = Release|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|Win32.ActiveCfg = Debug|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|Win32.Build.0 = Debug|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|x64.ActiveCfg = Debug|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|x64.Build.0 = Debug|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|Win32.ActiveCfg = Release|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|Win32.Build.0 = Release|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|x64.ActiveCfg = Release|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|x64.Build.0 = Release|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|Win32.Build.0 = Debug|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|x64.ActiveCfg = Debug|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|x64.Build.0 = Debug|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|Win32.ActiveCfg = Release|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|Win32.Build.0 = Release|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|x64.ActiveCfg = Release|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|x64.Build.0 = Release|x64 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Debug|Win32.ActiveCfg = Debug|Win32 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Debug|Win32.Build.0 = Debug|Win32 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Debug|x64.ActiveCfg = Debug|x64 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Debug|x64.Build.0 = Debug|x64 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Release|Win32.ActiveCfg = Release|Win32 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Release|Win32.Build.0 = Release|Win32 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Release|x64.ActiveCfg = Release|x64 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Release|x64.Build.0 = Release|x64 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Debug|Win32.ActiveCfg = Debug|Win32 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Debug|Win32.Build.0 = Debug|Win32 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Debug|x64.ActiveCfg = Debug|x64 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Debug|x64.Build.0 = Debug|x64 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Release|Win32.ActiveCfg = Release|Win32 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Release|Win32.Build.0 = Release|Win32 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Release|x64.ActiveCfg = Release|x64 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {4EECC46E-C5CF-41D0-8FD4-4796F144ECFA} + EndGlobalSection +EndGlobal diff --git a/win/vs-glm-wq-dll/libglm_wq_aed2+.vfproj b/win/vs-glm-wq-dll/libglm_wq_aed+.vfproj similarity index 76% rename from win/vs-glm-wq-dll/libglm_wq_aed2+.vfproj rename to win/vs-glm-wq-dll/libglm_wq_aed+.vfproj index 6d22ff7..a578b41 100644 --- a/win/vs-glm-wq-dll/libglm_wq_aed2+.vfproj +++ b/win/vs-glm-wq-dll/libglm_wq_aed+.vfproj @@ -5,8 +5,8 @@ - - + + @@ -15,8 +15,8 @@ - - + + @@ -25,8 +25,8 @@ - - + + @@ -35,8 +35,8 @@ - - + + @@ -49,7 +49,7 @@ - + diff --git a/win/vs-glm-wq-dll/libglm_wq_aed2.def b/win/vs-glm-wq-dll/libglm_wq_aed.def similarity index 92% rename from win/vs-glm-wq-dll/libglm_wq_aed2.def rename to win/vs-glm-wq-dll/libglm_wq_aed.def index d23c400..e6f8cd4 100644 --- a/win/vs-glm-wq-dll/libglm_wq_aed2.def +++ b/win/vs-glm-wq-dll/libglm_wq_aed.def @@ -1,4 +1,4 @@ -LIBRARY glm-aed2 +LIBRARY glm-aed EXPORTS wq_init_glm @1 wq_set_glm_data @2 diff --git a/win/vs-glm-wq-dll/libglm_wq_aed2.sln b/win/vs-glm-wq-dll/libglm_wq_aed.sln similarity index 56% rename from win/vs-glm-wq-dll/libglm_wq_aed2.sln rename to win/vs-glm-wq-dll/libglm_wq_aed.sln index 71eaaaf..3d068e7 100644 --- a/win/vs-glm-wq-dll/libglm_wq_aed2.sln +++ b/win/vs-glm-wq-dll/libglm_wq_aed.sln @@ -1,17 +1,28 @@ - Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.28010.2026 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libglm_wq_aed2", "libglm_wq_aed2.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libglm_wq_aed", "libglm_wq_aed.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" ProjectSection(ProjectDependencies) = postProject + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233} = {D5BA5305-6D24-46A7-B41B-BECC6E6BF233} {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F} = {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F} {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + {DD6B03EA-C505-45F1-AE15-AE29120D3620} = {DD6B03EA-C505-45F1-AE15-AE29120D3620} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libplugin", "libplugin.vcxproj", "{BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}" EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed2", "..\..\..\libaed2\win\libaed2.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-water", "..\..\..\libaed-water\win\libaed-water.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" +EndProject +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-benthic", "..\..\..\libaed-benthic\win\libaed-benthic.vfproj", "{D5BA5305-6D24-46A7-B41B-BECC6E6BF233}" + ProjectSection(ProjectDependencies) = postProject + {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + EndProjectSection +EndProject +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-demo", "..\..\..\libaed-demo\win\libaed-demo.vfproj", "{DD6B03EA-C505-45F1-AE15-AE29120D3620}" + ProjectSection(ProjectDependencies) = postProject + {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -45,6 +56,22 @@ Global {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|Win32.Build.0 = Release|Win32 {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|x64.ActiveCfg = Release|x64 {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|x64.Build.0 = Release|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|Win32.ActiveCfg = Debug|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|Win32.Build.0 = Debug|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|x64.ActiveCfg = Debug|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|x64.Build.0 = Debug|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|Win32.ActiveCfg = Release|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|Win32.Build.0 = Release|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|x64.ActiveCfg = Release|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|x64.Build.0 = Release|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|Win32.Build.0 = Debug|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|x64.ActiveCfg = Debug|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|x64.Build.0 = Debug|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|Win32.ActiveCfg = Release|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|Win32.Build.0 = Release|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|x64.ActiveCfg = Release|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/win/vs-glm-wq-dll/libglm_wq_aed2.vfproj b/win/vs-glm-wq-dll/libglm_wq_aed.vfproj similarity index 78% rename from win/vs-glm-wq-dll/libglm_wq_aed2.vfproj rename to win/vs-glm-wq-dll/libglm_wq_aed.vfproj index cf24718..ee6c7c7 100644 --- a/win/vs-glm-wq-dll/libglm_wq_aed2.vfproj +++ b/win/vs-glm-wq-dll/libglm_wq_aed.vfproj @@ -5,8 +5,8 @@ - - + + @@ -15,8 +15,8 @@ - - + + @@ -25,8 +25,8 @@ - - + + @@ -35,8 +35,8 @@ - - + + @@ -49,7 +49,7 @@ - + diff --git a/win/vs-glm-wq-dll/libglm_wq_aed2+.sln b/win/vs-glm-wq-dll/libglm_wq_aed2+.sln deleted file mode 100644 index 006a99b..0000000 --- a/win/vs-glm-wq-dll/libglm_wq_aed2+.sln +++ /dev/null @@ -1,55 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28010.2026 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libglm_wq_aed2+", "libglm_wq_aed2+.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" - ProjectSection(ProjectDependencies) = postProject - {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F} = {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F} - {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libplugin", "libplugin.vcxproj", "{BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}" -EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed2+", "..\..\..\libaed2-plus\win\libaed2+.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|Win32.ActiveCfg = Debug|Win32 - {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|Win32.Build.0 = Debug|Win32 - {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|x64.ActiveCfg = Debug|x64 - {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|x64.Build.0 = Debug|x64 - {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|Win32.ActiveCfg = Release|Win32 - {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|Win32.Build.0 = Release|Win32 - {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|x64.ActiveCfg = Release|x64 - {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|x64.Build.0 = Release|x64 - {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Debug|Win32.ActiveCfg = Debug|Win32 - {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Debug|Win32.Build.0 = Debug|Win32 - {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Debug|x64.ActiveCfg = Debug|x64 - {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Debug|x64.Build.0 = Debug|x64 - {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Release|Win32.ActiveCfg = Release|Win32 - {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Release|Win32.Build.0 = Release|Win32 - {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Release|x64.ActiveCfg = Release|x64 - {BABAE57A-9D0A-73CC-BEBE-87002A6CCA5F}.Release|x64.Build.0 = Release|x64 - {71B1A1B7-387A-4D58-8607-F9B24B896995}.Debug|Win32.ActiveCfg = Debug|Win32 - {71B1A1B7-387A-4D58-8607-F9B24B896995}.Debug|Win32.Build.0 = Debug|Win32 - {71B1A1B7-387A-4D58-8607-F9B24B896995}.Debug|x64.ActiveCfg = Debug|x64 - {71B1A1B7-387A-4D58-8607-F9B24B896995}.Debug|x64.Build.0 = Debug|x64 - {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|Win32.ActiveCfg = Release|Win32 - {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|Win32.Build.0 = Release|Win32 - {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|x64.ActiveCfg = Release|x64 - {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {4EECC46E-C5CF-41D0-8FD4-4796F144ECFA} - EndGlobalSection -EndGlobal diff --git a/win/vs-glm/glm+.sln b/win/vs-glm/glm+.sln index 35d55b5..983cf63 100644 --- a/win/vs-glm/glm+.sln +++ b/win/vs-glm/glm+.sln @@ -1,17 +1,44 @@ Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.1062 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glm+", "glm+.vcxproj", "{5CDBCC36-B1AF-4861-84A6-A469B8C10B2B}" ProjectSection(ProjectDependencies) = postProject - {078DD61C-C7B7-4728-B574-6C23F753B7A4} = {078DD61C-C7B7-4728-B574-6C23F753B7A4} + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233} = {D5BA5305-6D24-46A7-B41B-BECC6E6BF233} + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D} = {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D} + {813D3458-242F-4C00-9672-2F82CF39B63C} = {813D3458-242F-4C00-9672-2F82CF39B63C} {C16EC5B0-C713-4564-A4D0-497EE322E68B} = {C16EC5B0-C713-4564-A4D0-497EE322E68B} {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} {654D6ADD-1676-4136-918C-3F14C09F29D1} = {654D6ADD-1676-4136-918C-3F14C09F29D1} + {DD6B03EA-C505-45F1-AE15-AE29120D3620} = {DD6B03EA-C505-45F1-AE15-AE29120D3620} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libutil", "..\..\..\libutil\win\libutil.vcxproj", "{8EF4B62A-1CAF-4C2A-AF8F-FBAF3350EA84}" EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed2+", "..\..\..\libaed2-plus\win\libaed2+.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-water", "..\..\..\libaed-water\win\libaed-water.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "glm-aed2", "glm-aed2.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-benthic", "..\..\..\libaed-benthic\win\libaed-benthic.vfproj", "{D5BA5305-6D24-46A7-B41B-BECC6E6BF233}" + ProjectSection(ProjectDependencies) = postProject + {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + EndProjectSection +EndProject +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-riparian", "..\..\..\libaed-riparian\win\libaed-riparian.vfproj", "{813D3458-242F-4C00-9672-2F82CF39B63C}" + ProjectSection(ProjectDependencies) = postProject + {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + EndProjectSection +EndProject +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-demo", "..\..\..\libaed-demo\win\libaed-demo.vfproj", "{DD6B03EA-C505-45F1-AE15-AE29120D3620}" + ProjectSection(ProjectDependencies) = postProject + {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + EndProjectSection +EndProject +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-dev", "..\..\..\libaed-dev\win\libaed-dev.vfproj", "{D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}" + ProjectSection(ProjectDependencies) = postProject + {813D3458-242F-4C00-9672-2F82CF39B63C} = {813D3458-242F-4C00-9672-2F82CF39B63C} + {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + EndProjectSection +EndProject +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "glm-aed", "glm-aed.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" ProjectSection(ProjectDependencies) = postProject {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} EndProjectSection @@ -20,10 +47,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libplot", "..\..\..\libplot EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Release|x64 = Release|x64 - Release|Win32 = Release|Win32 - Debug|x64 = Debug|x64 Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5CDBCC36-B1AF-4861-84A6-A469B8C10B2B}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -50,6 +77,38 @@ Global {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|Win32.Build.0 = Release|Win32 {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|x64.ActiveCfg = Release|x64 {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|x64.Build.0 = Release|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|Win32.ActiveCfg = Debug|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|Win32.Build.0 = Debug|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|x64.ActiveCfg = Debug|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|x64.Build.0 = Debug|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|Win32.ActiveCfg = Release|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|Win32.Build.0 = Release|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|x64.ActiveCfg = Release|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|x64.Build.0 = Release|x64 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Debug|Win32.ActiveCfg = Debug|Win32 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Debug|Win32.Build.0 = Debug|Win32 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Debug|x64.ActiveCfg = Debug|x64 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Debug|x64.Build.0 = Debug|x64 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Release|Win32.ActiveCfg = Release|Win32 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Release|Win32.Build.0 = Release|Win32 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Release|x64.ActiveCfg = Release|x64 + {813D3458-242F-4C00-9672-2F82CF39B63C}.Release|x64.Build.0 = Release|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|Win32.Build.0 = Debug|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|x64.ActiveCfg = Debug|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|x64.Build.0 = Debug|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|Win32.ActiveCfg = Release|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|Win32.Build.0 = Release|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|x64.ActiveCfg = Release|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|x64.Build.0 = Release|x64 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Debug|Win32.ActiveCfg = Debug|Win32 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Debug|Win32.Build.0 = Debug|Win32 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Debug|x64.ActiveCfg = Debug|x64 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Debug|x64.Build.0 = Debug|x64 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Release|Win32.ActiveCfg = Release|Win32 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Release|Win32.Build.0 = Release|Win32 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Release|x64.ActiveCfg = Release|x64 + {D7EDDB2E-DE68-4512-93D5-3E9BC0AF034D}.Release|x64.Build.0 = Release|x64 {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|Win32.ActiveCfg = Debug|Win32 {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|Win32.Build.0 = Debug|Win32 {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|x64.ActiveCfg = Debug|x64 @@ -58,14 +117,6 @@ Global {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|Win32.Build.0 = Release|Win32 {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|x64.ActiveCfg = Release|x64 {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|x64.Build.0 = Release|x64 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Debug|Win32.ActiveCfg = Debug|Win32 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Debug|Win32.Build.0 = Debug|Win32 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Debug|x64.ActiveCfg = Debug|x64 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Debug|x64.Build.0 = Debug|x64 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Release|Win32.ActiveCfg = Release|Win32 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Release|Win32.Build.0 = Release|Win32 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Release|x64.ActiveCfg = Release|x64 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Release|x64.Build.0 = Release|x64 {C16EC5B0-C713-4564-A4D0-497EE322E68B}.Debug|Win32.ActiveCfg = Debug|Win32 {C16EC5B0-C713-4564-A4D0-497EE322E68B}.Debug|Win32.Build.0 = Debug|Win32 {C16EC5B0-C713-4564-A4D0-497EE322E68B}.Debug|x64.ActiveCfg = Debug|x64 @@ -78,4 +129,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D29A69FC-7B81-4A22-85E3-155E21A661FC} + EndGlobalSection EndGlobal diff --git a/win/vs-glm/glm+.vcxproj b/win/vs-glm/glm+.vcxproj index 9ce4590..4917abd 100644 --- a/win/vs-glm/glm+.vcxproj +++ b/win/vs-glm/glm+.vcxproj @@ -73,7 +73,7 @@ Disabled ..\..\..\win-3rd-party\$(Platform)-$(Configuration)\include;..\..\..\libplot\include;..\..\..\libutil\include;..\ - AED2;PLOTS;XPLOTS;_CRT_SECURE_NO_WARNINGS + AED;PLOTS;XPLOTS;_CRT_SECURE_NO_WARNINGS MultiThreadedDebugDLL Level3 ProgramDatabase @@ -81,7 +81,7 @@ CompileAsC - glm-aed2.lib;libaed2+.lib;libutil.lib;libplot.lib;%(AdditionalDependencies) + glm-aed.lib;libaed-water.lib;libaed-benthic.lib;libaed-riparian.lib;libaed-demo.lib;libaed-dev.lib;libutil.lib;libplot.lib;%(AdditionalDependencies) $(Platform)-$(Configuration)\;$(Platform)-$(Configuration)\lib\;..\..\..\win-3rd-party\$(Platform)-$(Configuration)\lib\;%(AdditionalLibraryDirectories) false diff --git a/win/vs-glm/glm-aed2.vfproj b/win/vs-glm/glm-aed.vfproj similarity index 79% rename from win/vs-glm/glm-aed2.vfproj rename to win/vs-glm/glm-aed.vfproj index 66aee4f..e3228a5 100644 --- a/win/vs-glm/glm-aed2.vfproj +++ b/win/vs-glm/glm-aed.vfproj @@ -5,7 +5,7 @@ - + @@ -16,7 +16,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -38,7 +38,7 @@ - + @@ -52,7 +52,8 @@ - + + diff --git a/win/vs-glm/glm.sln b/win/vs-glm/glm.sln index 4e3c132..27e68b1 100644 --- a/win/vs-glm/glm.sln +++ b/win/vs-glm/glm.sln @@ -1,7 +1,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.1062 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glm", "glm.vcxproj", "{5CDBCC36-B1AF-4861-84A6-A469B8C10B2B}" ProjectSection(ProjectDependencies) = postProject - {078DD61C-C7B7-4728-B574-6C23F753B7A4} = {078DD61C-C7B7-4728-B574-6C23F753B7A4} {C16EC5B0-C713-4564-A4D0-497EE322E68B} = {C16EC5B0-C713-4564-A4D0-497EE322E68B} {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} {654D6ADD-1676-4136-918C-3F14C09F29D1} = {654D6ADD-1676-4136-918C-3F14C09F29D1} @@ -9,21 +11,33 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glm", "glm.vcxproj", "{5CDB EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libutil", "..\..\..\libutil\win\libutil.vcxproj", "{8EF4B62A-1CAF-4C2A-AF8F-FBAF3350EA84}" EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed2", "..\..\..\libaed2\win\libaed2.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-water", "..\..\..\libaed-water\win\libaed-water.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "glm-aed2", "glm-aed2.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-benthic", "..\..\..\libaed-benthic\win\libaed-benthic.vfproj", "{D5BA5305-6D24-46A7-B41B-BECC6E6BF233}" ProjectSection(ProjectDependencies) = postProject {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} EndProjectSection EndProject +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed-demo", "..\..\..\libaed-demo\win\libaed-demo.vfproj", "{DD6B03EA-C505-45F1-AE15-AE29120D3620}" + ProjectSection(ProjectDependencies) = postProject + {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + EndProjectSection +EndProject +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "glm-aed", "glm-aed.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" + ProjectSection(ProjectDependencies) = postProject + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233} = {D5BA5305-6D24-46A7-B41B-BECC6E6BF233} + {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} + {DD6B03EA-C505-45F1-AE15-AE29120D3620} = {DD6B03EA-C505-45F1-AE15-AE29120D3620} + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libplot", "..\..\..\libplot\win\libplot.vcxproj", "{C16EC5B0-C713-4564-A4D0-497EE322E68B}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Release|x64 = Release|x64 - Release|Win32 = Release|Win32 - Debug|x64 = Debug|x64 Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5CDBCC36-B1AF-4861-84A6-A469B8C10B2B}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -50,6 +64,22 @@ Global {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|Win32.Build.0 = Release|Win32 {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|x64.ActiveCfg = Release|x64 {71B1A1B7-387A-4D58-8607-F9B24B896995}.Release|x64.Build.0 = Release|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|Win32.ActiveCfg = Debug|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|Win32.Build.0 = Debug|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|x64.ActiveCfg = Debug|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Debug|x64.Build.0 = Debug|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|Win32.ActiveCfg = Release|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|Win32.Build.0 = Release|Win32 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|x64.ActiveCfg = Release|x64 + {D5BA5305-6D24-46A7-B41B-BECC6E6BF233}.Release|x64.Build.0 = Release|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|Win32.Build.0 = Debug|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|x64.ActiveCfg = Debug|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Debug|x64.Build.0 = Debug|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|Win32.ActiveCfg = Release|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|Win32.Build.0 = Release|Win32 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|x64.ActiveCfg = Release|x64 + {DD6B03EA-C505-45F1-AE15-AE29120D3620}.Release|x64.Build.0 = Release|x64 {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|Win32.ActiveCfg = Debug|Win32 {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|Win32.Build.0 = Debug|Win32 {654D6ADD-1676-4136-918C-3F14C09F29D1}.Debug|x64.ActiveCfg = Debug|x64 @@ -58,14 +88,6 @@ Global {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|Win32.Build.0 = Release|Win32 {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|x64.ActiveCfg = Release|x64 {654D6ADD-1676-4136-918C-3F14C09F29D1}.Release|x64.Build.0 = Release|x64 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Debug|Win32.ActiveCfg = Debug|Win32 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Debug|Win32.Build.0 = Debug|Win32 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Debug|x64.ActiveCfg = Debug|x64 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Debug|x64.Build.0 = Debug|x64 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Release|Win32.ActiveCfg = Release|Win32 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Release|Win32.Build.0 = Release|Win32 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Release|x64.ActiveCfg = Release|x64 - {078DD61C-C7B7-4728-B574-6C23F753B7A4}.Release|x64.Build.0 = Release|x64 {C16EC5B0-C713-4564-A4D0-497EE322E68B}.Debug|Win32.ActiveCfg = Debug|Win32 {C16EC5B0-C713-4564-A4D0-497EE322E68B}.Debug|Win32.Build.0 = Debug|Win32 {C16EC5B0-C713-4564-A4D0-497EE322E68B}.Debug|x64.ActiveCfg = Debug|x64 @@ -78,4 +100,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {906D1DC8-26E4-4592-AC97-15FFC2F63274} + EndGlobalSection EndGlobal diff --git a/win/vs-glm/glm.vcxproj b/win/vs-glm/glm.vcxproj index fd2f04d..188f0fd 100644 --- a/win/vs-glm/glm.vcxproj +++ b/win/vs-glm/glm.vcxproj @@ -70,13 +70,13 @@ ..\..\..\win-3rd-party\$(Platform)-$(Configuration)\include;..\..\..\libplot\include;..\..\..\libutil\include;..\ - AED2;PLOTS;XPLOTS;_CRT_SECURE_NO_WARNINGS + AED;PLOTS;XPLOTS;_CRT_SECURE_NO_WARNINGS Level3 Cdecl CompileAsC - glm-aed2.lib;libaed2.lib;libutil.lib;libplot.lib;%(AdditionalDependencies) + glm-aed.lib;libaed-water.lib;libaed-benthic.lib;libaed-demo.lib;libutil.lib;libplot.lib;%(AdditionalDependencies) $(Platform)-$(Configuration)\;$(Platform)-$(Configuration)\lib\;..\..\..\win-3rd-party\$(Platform)-$(Configuration)\lib\;%(AdditionalLibraryDirectories) false diff --git a/win/vs-libglm/glm-aed2.vfproj b/win/vs-libglm/glm-aed.vfproj similarity index 83% rename from win/vs-libglm/glm-aed2.vfproj rename to win/vs-libglm/glm-aed.vfproj index dffdc9a..8022343 100644 --- a/win/vs-libglm/glm-aed2.vfproj +++ b/win/vs-libglm/glm-aed.vfproj @@ -5,7 +5,7 @@ - + @@ -16,7 +16,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -38,7 +38,7 @@ - + @@ -52,7 +52,7 @@ - + diff --git a/win/vs-libglm/libglm+.sln b/win/vs-libglm/libglm+.sln index 03d7549..03da3e2 100644 --- a/win/vs-libglm/libglm+.sln +++ b/win/vs-libglm/libglm+.sln @@ -12,9 +12,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libglm+", "libglm+.vcxproj" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libutil", "..\..\..\libutil\win\libutil.vcxproj", "{8EF4B62A-1CAF-4C2A-AF8F-FBAF3350EA84}" EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed2+", "..\..\..\libaed2-plus\win\libaed2+.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed+", "..\..\..\libaed-plus\win\libaed+.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "glm-aed2", "glm-aed2.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "glm-aed", "glm-aed.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" ProjectSection(ProjectDependencies) = postProject {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} EndProjectSection diff --git a/win/vs-libglm/libglm+.vcxproj b/win/vs-libglm/libglm+.vcxproj index 0d03040..191f02d 100644 --- a/win/vs-libglm/libglm+.vcxproj +++ b/win/vs-libglm/libglm+.vcxproj @@ -77,13 +77,13 @@ ..\..\..\win-3rd-party\$(Platform)-$(Configuration)\include;..\..\..\libplot\include;..\..\..\libutil\include;..\ - AED2;_CRT_SECURE_NO_WARNINGS + AED;_CRT_SECURE_NO_WARNINGS Level3 Cdecl CompileAsC - glm-aed2.lib;libaed2+.lib;libutil.lib;%(AdditionalDependencies) + glm-aed.lib;libaed+.lib;libutil.lib;%(AdditionalDependencies) $(Platform)-$(Configuration)\;$(Platform)-$(Configuration)\lib\;..\..\..\win-3rd-party\$(Platform)-$(Configuration)\lib\;%(AdditionalLibraryDirectories) false diff --git a/win/vs-libglm/libglm.sln b/win/vs-libglm/libglm.sln index 200ca06..7a9796a 100644 --- a/win/vs-libglm/libglm.sln +++ b/win/vs-libglm/libglm.sln @@ -10,9 +10,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libglm", "libglm.vcxproj", EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libutil", "..\..\..\libutil\win\libutil.vcxproj", "{8EF4B62A-1CAF-4C2A-AF8F-FBAF3350EA84}" EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed2", "..\..\..\libaed2\win\libaed2.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "libaed", "..\..\..\libaed\win\libaed.vfproj", "{71B1A1B7-387A-4D58-8607-F9B24B896995}" EndProject -Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "glm-aed2", "glm-aed2.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" +Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "glm-aed", "glm-aed.vfproj", "{654D6ADD-1676-4136-918C-3F14C09F29D1}" ProjectSection(ProjectDependencies) = postProject {71B1A1B7-387A-4D58-8607-F9B24B896995} = {71B1A1B7-387A-4D58-8607-F9B24B896995} EndProjectSection diff --git a/win/vs-libglm/libglm.vcxproj b/win/vs-libglm/libglm.vcxproj index 9e8e236..8db2157 100644 --- a/win/vs-libglm/libglm.vcxproj +++ b/win/vs-libglm/libglm.vcxproj @@ -77,13 +77,13 @@ ..\..\..\win-3rd-party\$(Platform)-$(Configuration)\include;..\..\..\libplot\include;..\..\..\libutil\include;..\ - AED2;_CRT_SECURE_NO_WARNINGS + AED;_CRT_SECURE_NO_WARNINGS Level3 Cdecl CompileAsC - glm-aed2.lib;libaed2.lib;libutil.lib;%(AdditionalDependencies) + glm-aed.lib;libaed.lib;libutil.lib;%(AdditionalDependencies) $(Platform)-$(Configuration)\;$(Platform)-$(Configuration)\lib\;..\..\..\win-3rd-party\$(Platform)-$(Configuration)\lib\;%(AdditionalLibraryDirectories) false