Commit 8608040d authored by Jorn Bruggeman's avatar Jorn Bruggeman
Browse files

API update 0.93

parent 8a5fb7e0
......@@ -9,3 +9,4 @@ modules/
timestamp
VERSION
include/version.h
*.pyc
# Set options for the Cray Fortran compiler
ifeq ($(FORTRAN_COMPILER),FTN)
FC=ftn
DEFINES += -D_ISO_TR_15581_
MODULES= -em -J$(MODDIR)
EXTRAS =
DEBUG_FLAGS = -eD -efp0 -xomp
......
# Set options for the GNU Fortran compiler
ifeq ($(FORTRAN_COMPILER),GFORTRAN)
FC=gfortran
DEFINES += -D_ISO_TR_15581_
MODULES=-J$(MODDIR)
EXTRAS = -ffree-form -Wall -std=f2003 -pedantic -ffree-line-length-none -Wno-unused-dummy-argument
DEBUG_FLAGS = -g -fcheck=all -fbacktrace
......
# Set options for the Intel Fortran compiler
ifeq ($(FORTRAN_COMPILER),IFORT)
FC=ifort
DEFINES += -D_ISO_TR_15581_
MODULES=-module $(MODDIR)
EXTRAS = -fPIC -stand f03 -warn nounused -nowarn #5268
DEBUG_FLAGS = -g -C -traceback
......
# Set options for the Portland Group (PGI) Fortran compiler.
ifeq ($(FORTRAN_COMPILER),PGFORTRAN)
FC=pgfortran
DEFINES += -D_ISO_TR_15581_
MODULES=-module $(MODDIR)
EXTRAS =
DEBUG_FLAGS = -g -Ktrap=fp -Mbounds
......
......@@ -117,7 +117,11 @@
<File RelativePath="..\..\src\models\pml\carbonate\carbonate.F90"/>
<File RelativePath="..\..\src\models\pml\carbonate\co2_dyn.F90"/></Filter>
<Filter Name="ersem">
<File RelativePath="..\..\src\models\pml\ersem\ersem.F90"/></Filter></Filter></Filter>
<File RelativePath="..\..\src\models\pml\ersem\dom.F90"/>
<File RelativePath="..\..\src\models\pml\ersem\gas_dynamics.F90"/>
<File RelativePath="..\..\src\models\pml\ersem\nutrients.F90"/>
<File RelativePath="..\..\src\models\pml\ersem\pom.F90"/>
<File RelativePath="..\..\src\models\pml\ersem\vphyt1.F90"/></Filter></Filter></Filter>
<File RelativePath="..\..\src\fabm.F90"/>
<File RelativePath="..\..\src\fabm_library.F90"/>
<File RelativePath="..\..\src\fabm_properties.F90"/>
......
......@@ -104,6 +104,8 @@
<Filter Name="gotm">
<Filter Name="ergom">
<File RelativePath="..\..\src\models\gotm\ergom\ergom.F90"/></Filter>
<Filter Name="ergom">
<File RelativePath="..\..\src\models\gotm\ergom\ergom.F90"/></Filter>
<Filter Name="fasham">
<File RelativePath="..\..\src\models\gotm\fasham\fasham.F90"/></Filter>
<Filter Name="npzd">
......@@ -123,9 +125,7 @@
<Filter Name="pml">
<Filter Name="carbonate">
<File RelativePath="..\..\src\models\pml\carbonate\carbonate.F90"/>
<File RelativePath="..\..\src\models\pml\carbonate\co2_dyn.F90"/></Filter>
<Filter Name="ersem">
<File RelativePath="..\..\src\models\pml\ersem\ersem.F90"/></Filter></Filter></Filter>
<File RelativePath="..\..\src\models\pml\carbonate\co2_dyn.F90"/></Filter></Filter></Filter>
<File RelativePath="..\..\src\fabm.F90"/>
<File RelativePath="..\..\src\fabm_expressions.F90"/>
<File RelativePath="..\..\src\fabm_library.F90"/>
......
......@@ -4,7 +4,7 @@
<Platform Name="Win32"/></Platforms>
<Configurations>
<Configuration Name="Debug|Win32" OutputDirectory="$(PlatformName)-$(ConfigurationName)\$(ProjectName)" IntermediateDirectory="$(PlatformName)-$(ConfigurationName)\$(ProjectName)" ConfigurationType="typeStaticLibrary">
<Tool Name="VFFortranCompilerTool" AdditionalOptions="/Qsave-temps" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" Preprocess="preprocessYes" AdditionalIncludeDirectories="$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src\drivers\gotm;$(ProjectDir)\..\..\src\models\aed;$(GOTMDIR)\include;$(GOTMDIR)\compilers\vs2010" PreprocessorDefinitions="_ISO_TR_15581_;_FABM_F2003_;DEBUG" F2003Semantics="true" StandardWarnings="standardWarningsF95" WarnDeclarations="true" WarnUnusedVariables="true" WarnInterfaces="true" InitLocalVarToNAN="true" FloatingPointSpeculation="fpSpeculationOff" Traceback="true" NullPointerCheck="true" BoundsCheck="true" UninitializedVariablesCheck="true" DescriptorDataTypeCheck="true" DescriptorDataSizeCheck="true" ArgTempCreatedCheck="true" RuntimeLibrary="rtMultiThreadedDebug" ImproveFloatingPointConsistency="true" Interfaces="true"/>
<Tool Name="VFFortranCompilerTool" AdditionalOptions="/Qsave-temps" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" Preprocess="preprocessYes" AdditionalIncludeDirectories="$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src\drivers\gotm;$(ProjectDir)\..\..\src\models\aed;$(GOTMDIR)\include;$(GOTMDIR)\compilers\vs2010" PreprocessorDefinitions="_ISO_TR_15581_;_FABM_F2003_;DEBUG" F2003Semantics="true" StandardWarnings="standardWarningsF03" WarnDeclarations="true" WarnUnusedVariables="true" WarnInterfaces="true" InitLocalVarToNAN="true" FloatingPointSpeculation="fpSpeculationOff" Traceback="true" NullPointerCheck="true" BoundsCheck="true" UninitializedVariablesCheck="true" DescriptorDataTypeCheck="true" DescriptorDataSizeCheck="true" ArgTempCreatedCheck="true" RuntimeLibrary="rtMultiThreadedDebug" ImproveFloatingPointConsistency="true" Interfaces="true"/>
<Tool Name="VFLinkerTool" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(GOTMDIR)\extras\netcdf\win32\3.6.3\lib" GenerateDebugInformation="true" SubSystem="subSystemConsole" AdditionalDependencies="netcdfs.lib"/>
<Tool Name="VFLibrarianTool"/>
<Tool Name="VFResourceCompilerTool"/>
......@@ -55,8 +55,10 @@
<File RelativePath="..\..\src\Makefile"/>
<File RelativePath="..\..\src\Rules.make"/></Filter>
<Filter Name="Source Files" Filter="f90;for;f;fpp;ftn;def;odl;idl">
<Filter Name="driver">
<File RelativePath="..\..\src\drivers\gotm\fabm_driver.F90"/></Filter>
<Filter Name="config">
<File RelativePath="..\..\src\config\fabm_config.F90"/>
<File RelativePath="..\..\src\config\fabm_config_types.F90"/>
<File RelativePath="..\..\src\config\fabm_yaml.F90"/></Filter>
<Filter Name="models">
<Filter Name="aed">
<File RelativePath="..\..\src\models\aed\aed_bacteria.F90"/>
......@@ -120,11 +122,8 @@
<Filter Name="mnemiopsis">
<File RelativePath="..\..\src\models\metu\mnemiopsis\mnemiopsis.F90"/></Filter></Filter>
<Filter Name="pml">
<Filter Name="carbonate">
<File RelativePath="..\..\src\models\pml\carbonate\carbonate.F90"/>
<File RelativePath="..\..\src\models\pml\carbonate\co2_dyn.F90"/></Filter>
<Filter Name="ersem">
<File RelativePath="..\..\src\models\pml\ersem\ersem.F90"/></Filter></Filter></Filter>
<File RelativePath="..\..\src\models\pml\carbonate\co2_dyn.F90"/></Filter></Filter>
<File RelativePath="..\..\src\fabm.F90"/>
<File RelativePath="..\..\src\fabm_expressions.F90"/>
<File RelativePath="..\..\src\fabm_library.F90"/>
......
......@@ -24,6 +24,16 @@ Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "turbulence", "%GOTMDIR%\com
{12FF14CF-D057-46BD-8BD3-8C957A1016DC} = {12FF14CF-D057-46BD-8BD3-8C957A1016DC}
EndProjectSection
EndProject
Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "fabm_python-f90", "fabm_python-f90.vfproj", "{30B75A58-40FE-4D39-BCBE-0B50BC95665E}"
ProjectSection(ProjectDependencies) = postProject
{7D63F885-F1D8-469C-A076-488A23EB592B} = {7D63F885-F1D8-469C-A076-488A23EB592B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fabm_python-c++", "fabm_python-c++.vcxproj", "{AABA89F4-40E4-4269-817F-0E37191728F2}"
ProjectSection(ProjectDependencies) = postProject
{30B75A58-40FE-4D39-BCBE-0B50BC95665E} = {30B75A58-40FE-4D39-BCBE-0B50BC95665E}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
......@@ -62,6 +72,21 @@ Global
{195325CC-732D-4F1C-ABAD-A9B118351236}.Release|Win32.ActiveCfg = Release|Win32
{195325CC-732D-4F1C-ABAD-A9B118351236}.Release|Win32.Build.0 = Release|Win32
{195325CC-732D-4F1C-ABAD-A9B118351236}.Release|x64.ActiveCfg = Release|Win32
{30B75A58-40FE-4D39-BCBE-0B50BC95665E}.Debug|Win32.ActiveCfg = Debug|Win32
{30B75A58-40FE-4D39-BCBE-0B50BC95665E}.Debug|Win32.Build.0 = Debug|Win32
{30B75A58-40FE-4D39-BCBE-0B50BC95665E}.Debug|x64.ActiveCfg = Debug|x64
{30B75A58-40FE-4D39-BCBE-0B50BC95665E}.Debug|x64.Build.0 = Debug|x64
{30B75A58-40FE-4D39-BCBE-0B50BC95665E}.Release|Win32.ActiveCfg = Release|Win32
{30B75A58-40FE-4D39-BCBE-0B50BC95665E}.Release|Win32.Build.0 = Release|Win32
{30B75A58-40FE-4D39-BCBE-0B50BC95665E}.Release|x64.ActiveCfg = Release|Win32
{AABA89F4-40E4-4269-817F-0E37191728F2}.Debug|Win32.ActiveCfg = Debug|Win32
{AABA89F4-40E4-4269-817F-0E37191728F2}.Debug|Win32.Build.0 = Debug|Win32
{AABA89F4-40E4-4269-817F-0E37191728F2}.Debug|x64.ActiveCfg = Debug|x64
{AABA89F4-40E4-4269-817F-0E37191728F2}.Debug|x64.Build.0 = Debug|x64
{AABA89F4-40E4-4269-817F-0E37191728F2}.Release|Win32.ActiveCfg = Release|Win32
{AABA89F4-40E4-4269-817F-0E37191728F2}.Release|Win32.Build.0 = Release|Win32
{AABA89F4-40E4-4269-817F-0E37191728F2}.Release|x64.ActiveCfg = Release|x64
{AABA89F4-40E4-4269-817F-0E37191728F2}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{AABA89F4-40E4-4269-817F-0E37191728F2}</ProjectGuid>
<RootNamespace>c++</RootNamespace>
<Keyword>Win32Proj</Keyword>
<ProjectName>fabm_python-c++</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(PlatformName)-$(Configuration)\$(ProjectName)</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(PlatformName)-$(Configuration)\$(ProjectName)</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(PlatformName)-$(Configuration)\$(ProjectName)</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(PlatformName)-$(Configuration)\$(ProjectName)</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(PlatformName)-$(Configuration)\$(ProjectName)</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(PlatformName)-$(Configuration)\$(ProjectName)</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(PlatformName)-$(Configuration)\$(ProjectName)</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(PlatformName)-$(Configuration)\$(ProjectName)</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(PYTHONDIR)\include;$(PYTHONDIR)\Lib\site-packages\numpy\core\include;$(PYTHONDIR)\Lib\site-packages\numpy\f2py\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;C_EXPORTS;UPPERCASE_FORTRAN;NO_APPEND_FORTRAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>python26.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)model.pyd</OutputFile>
<AdditionalLibraryDirectories>$(PythonDir)\libs;$(IFORT_COMPILER13)\compiler\lib\ia32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>python26_d.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)c++.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<ImportLibrary>$(OutDir)c++.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(PYTHON64DIR)\include;$(PYTHON64DIR)\Lib\site-packages\numpy\f2py\src;$(PYTHON64DIR)\Lib\site-packages\numpy\core\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;C_EXPORTS;UPPERCASE_FORTRAN;NO_APPEND_FORTRAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<OutputFile>$(OutDir)fabm_fortran.pyd</OutputFile>
<AdditionalLibraryDirectories>$(OutDir)\..\fabm_python-f90;$(Python64Dir)\libs;$(IFORT_COMPILER14)\compiler\lib\intel64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)c++.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<ImportLibrary>$(OutDir)c++.lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
<AdditionalDependencies>fabm_python-f90.lib;python27.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>$(PYTHONDIR)\include;$(PYTHONDIR)\Lib\site-packages\numpy\core\include;$(PYTHONDIR)\Lib\site-packages\numpy\f2py\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;C_EXPORTS;UPPERCASE_FORTRAN;NO_APPEND_FORTRAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>python26.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)model.pyd</OutputFile>
<AdditionalLibraryDirectories>$(PythonDir)\libs;$(IFORT_COMPILER13)\compiler\lib\ia32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateMapFile>true</GenerateMapFile>
<MapExports>true</MapExports>
<SubSystem>Windows</SubSystem>
<StackReserveSize>256000000</StackReserveSize>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<BaseAddress>0x66000000</BaseAddress>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<FixedBaseAddress>true</FixedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<ImportLibrary>$(OutDir)c++.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<AdditionalIncludeDirectories>$(PYTHON64DIR)\include;$(PYTHON64DIR)\Lib\site-packages\numpy\f2py\src;$(PYTHON64DIR)\Lib\site-packages\numpy\core\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN64;NDEBUG;_WINDOWS;_USRDLL;C_EXPORTS;UPPERCASE_FORTRAN;NO_APPEND_FORTRAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>fabm_python-f90.lib;python27.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)model.pyd</OutputFile>
<AdditionalLibraryDirectories>$(OutDir)\..\fabm_python-f90;$(Python64Dir)\libs;$(IFORT_COMPILER14)\compiler\lib\intel64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateMapFile>true</GenerateMapFile>
<MapExports>true</MapExports>
<SubSystem>Windows</SubSystem>
<StackReserveSize>256000000</StackReserveSize>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<BaseAddress>0x66000000</BaseAddress>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<FixedBaseAddress>true</FixedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<ImportLibrary>$(OutDir)c++.lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="fortranobject_wrapped.c" />
<ClCompile Include="fabmmodule_wrapped.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject ProjectType="typeStaticLibrary" ProjectCreator="Intel Fortran" Keyword="Static Library" Version="11.0" ProjectIdGuid="{7D63F885-F1D8-469C-A076-488A23EB592B}">
<Platforms>
<Platform Name="Win32"/>
<Platform Name="x64"/></Platforms>
<Configurations>
<Configuration Name="Debug|Win32" OutputDirectory="$(PlatformName)-$(ConfigurationName)\$(ProjectName)" IntermediateDirectory="$(PlatformName)-$(ConfigurationName)\$(ProjectName)" ConfigurationType="typeStaticLibrary">
<Tool Name="VFFortranCompilerTool" AdditionalOptions="/Qsave-temps" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" Preprocess="preprocessYes" AdditionalIncludeDirectories="$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src\drivers\python;$(ProjectDir)\..\..\src\models\aed" PreprocessorDefinitions="_ISO_TR_15581_;_FABM_F2003_" StandardWarnings="standardWarningsF95" WarnDeclarations="true" WarnUnusedVariables="true" WarnInterfaces="true" InitLocalVarToNAN="true" FloatingPointSpeculation="fpSpeculationOff" Traceback="true" NullPointerCheck="true" BoundsCheck="true" UninitializedVariablesCheck="true" DescriptorDataTypeCheck="true" DescriptorDataSizeCheck="true" ArgTempCreatedCheck="true" RuntimeLibrary="rtMultiThreadedDebug" ImproveFloatingPointConsistency="true" Interfaces="true"/>
<Tool Name="VFLinkerTool" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(GOTMDIR)\extras\netcdf\win32\3.6.3\lib" GenerateDebugInformation="true" SubSystem="subSystemConsole" AdditionalDependencies="netcdfs.lib"/>
<Tool Name="VFLibrarianTool"/>
<Tool Name="VFResourceCompilerTool"/>
<Tool Name="VFMidlTool" SuppressStartupBanner="true"/>
<Tool Name="VFCustomBuildTool"/>
<Tool Name="VFPreLinkEventTool"/>
<Tool Name="VFPreBuildEventTool" CommandLine="&quot;$(Python64Dir)\Scripts\f2py.exe&quot; &quot;$(ProjectDir)..\..\src\drivers\python\fabm_python.F90&quot; -m fabm --no-lower --overwrite-signature"/>
<Tool Name="VFPostBuildEventTool"/>
<Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
<Configuration Name="Release|Win32" OutputDirectory="$(PlatformName)-$(ConfigurationName)\$(ProjectName)" IntermediateDirectory="$(PlatformName)-$(ConfigurationName)\$(ProjectName)" ConfigurationType="typeStaticLibrary">
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" UseProcessorExtensions="codeExclusivelyHost" Preprocess="preprocessYes" AdditionalIncludeDirectories="$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src\drivers\python;$(ProjectDir)\..\..\src\models\aed" PreprocessorDefinitions="_ISO_TR_15581_;_FABM_F2003_" VectorizerDiagLevel="vectorizerDiagLevel3" WarnUnusedVariables="true"/>
<Tool Name="VFLinkerTool" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(GOTMDIR)\extras\netcdf\win32\3.6.3\lib" SubSystem="subSystemConsole" AdditionalDependencies="netcdfs.lib"/>
<Tool Name="VFLibrarianTool"/>
<Tool Name="VFResourceCompilerTool"/>
<Tool Name="VFMidlTool" SuppressStartupBanner="true"/>
<Tool Name="VFCustomBuildTool"/>
<Tool Name="VFPreLinkEventTool"/>
<Tool Name="VFPreBuildEventTool"/>
<Tool Name="VFPostBuildEventTool"/>
<Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
<Configuration Name="Debug|x64" OutputDirectory="$(PlatformName)-$(ConfigurationName)\$(ProjectName)" IntermediateDirectory="$(PlatformName)-$(ConfigurationName)\$(ProjectName)" ConfigurationType="typeStaticLibrary">
<Tool Name="VFFortranCompilerTool" AdditionalOptions="/Qsave-temps" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" Preprocess="preprocessYes" AdditionalIncludeDirectories="$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src\drivers\python;$(ProjectDir)\..\..\src\models\aed" PreprocessorDefinitions="_ISO_TR_15581_;_FABM_F2003_" StandardWarnings="standardWarningsF03" StandardWarningsAsErrors="true" WarnDeclarations="true" WarnUnusedVariables="true" WarnInterfaces="true" InitLocalVarToNAN="true" FloatingPointSpeculation="fpSpeculationOff" Traceback="true" RuntimeChecks="rtChecksAll" NullPointerCheck="true" BoundsCheck="true" UninitializedVariablesCheck="true" DescriptorDataTypeCheck="true" DescriptorDataSizeCheck="true" ArgTempCreatedCheck="true" RuntimeLibrary="rtMultiThreadedDebug" ImproveFloatingPointConsistency="true" Interfaces="true"/>
<Tool Name="VFLinkerTool" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(GOTMDIR)\extras\netcdf\win32\3.6.3\lib" GenerateDebugInformation="true" SubSystem="subSystemConsole" AdditionalDependencies="netcdfs.lib"/>
<Tool Name="VFLibrarianTool"/>
<Tool Name="VFResourceCompilerTool"/>
<Tool Name="VFMidlTool" SuppressStartupBanner="true" TargetEnvironment="midlTargetAMD64"/>
<Tool Name="VFCustomBuildTool"/>
<Tool Name="VFPreLinkEventTool"/>
<Tool Name="VFPreBuildEventTool" CommandLine="&quot;$(Python64Dir)\Scripts\f2py.exe&quot; &quot;$(ProjectDir)..\..\src\drivers\python\fabm_python.F90&quot; -m fabm_fortran -h &quot;$(ProjectDir)..\..\src\drivers\python\fabm_python.pyf&quot; --no-lower --overwrite-signature&#xA;&quot;$(Python64Dir)\Scripts\f2py.exe&quot; &quot;$(ProjectDir)..\..\src\drivers\python\fabm_python.pyf&quot;"/>
<Tool Name="VFPostBuildEventTool"/>
<Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
<Configuration Name="Release|x64" OutputDirectory="$(PlatformName)-$(ConfigurationName)\$(ProjectName)" IntermediateDirectory="$(PlatformName)-$(ConfigurationName)\$(ProjectName)" ConfigurationType="typeStaticLibrary">
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" Preprocess="preprocessYes" AdditionalIncludeDirectories="$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\src\drivers\python;$(ProjectDir)\..\..\src\models\aed" PreprocessorDefinitions="_ISO_TR_15581_;_FABM_F2003_" VectorizerDiagLevel="vectorizerDiagLevel3" WarnUnusedVariables="true"/>
<Tool Name="VFLinkerTool" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(GOTMDIR)\extras\netcdf\win32\3.6.3\lib" SubSystem="subSystemConsole" AdditionalDependencies="netcdfs.lib"/>
<Tool Name="VFLibrarianTool"/>
<Tool Name="VFResourceCompilerTool"/>
<Tool Name="VFMidlTool" SuppressStartupBanner="true" TargetEnvironment="midlTargetAMD64"/>
<Tool Name="VFCustomBuildTool"/>
<Tool Name="VFPreLinkEventTool"/>
<Tool Name="VFPreBuildEventTool"/>
<Tool Name="VFPostBuildEventTool"/>
<Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration></Configurations>
<Files>
<Filter Name="Header Files" Filter="fi;fd">
<File RelativePath="..\..\include\fabm.h"/>
<File RelativePath="..\..\src\drivers\python\fabm_driver.h"/></Filter>
<Filter Name="Make Files">
<Filter Name="models">
<Filter Name="aed"/>
<Filter Name="examples">
<Filter Name="benthic_predator">
<File RelativePath="..\..\src\models\examples\benthic_predator\Makefile"/></Filter>
<File RelativePath="..\..\src\models\examples\Makefile"/></Filter>
<Filter Name="gotm">
<Filter Name="fasham">
<File RelativePath="..\..\src\models\gotm\fasham\Makefile"/></Filter>
<Filter Name="npzd">
<File RelativePath="..\..\src\models\npzd\Makefile"/></Filter>
<File RelativePath="..\..\src\models\gotm\Makefile"/></Filter>
<Filter Name="metu">
<Filter Name="mnemiopsis">
<File RelativePath="..\..\src\models\mnemiopsis\Makefile"/></Filter>
<File RelativePath="..\..\src\models\metu\Makefile"/></Filter>
<Filter Name="pml">
<Filter Name="carbonate">
<File RelativePath="..\..\src\models\pml\carbonate\Makefile"/></Filter>
<Filter Name="ersem">
<File RelativePath="..\..\src\models\pmlersem\Makefile"/></Filter>
<File RelativePath="..\..\src\models\pml\Makefile"/></Filter>
<File RelativePath="..\..\src\models\Makefile"/></Filter>
<File RelativePath="..\..\src\Makefile"/>
<File RelativePath="..\..\src\Rules.make"/></Filter>
<Filter Name="Source Files" Filter="f90;for;f;fpp;ftn;def;odl;idl">
<Filter Name="config">
<File RelativePath="..\..\src\config\fabm_config.F90"/>
<File RelativePath="..\..\src\config\fabm_config_types.F90"/>
<File RelativePath="..\..\src\config\fabm_yaml.F90"/></Filter>
<Filter Name="driver">
<File RelativePath=".\fabm-f2pywrappers2.f90"/>
<File RelativePath="..\..\src\drivers\python\fabm_driver.F90"/>
<File RelativePath="..\..\src\drivers\python\fabm_python.F90"/>
<File RelativePath="..\..\src\drivers\python\helper.F90"/></Filter></Filter></Files>
<Globals/></VisualStudioProject>
#ifdef _DEBUG
#define _SAVE_DEBUG
#undef _DEBUG
#endif
#include <stdarg.h>
#include "Python.h"
#include "fortranobject.h"
#include <math.h>
// Below we redefine _DEBUG (see above)
#ifdef _SAVE_DEBUG
#define _DEBUG
#undef _SAVE_DEBUG
#endif
#include "fabm_fortranmodule.c"
\ No newline at end of file
#ifdef _DEBUG
#define _SAVE_DEBUG
#undef _DEBUG
#endif
#include <stdarg.h>
#include "Python.h"
#include "fortranobject.h"
#include <math.h>
// Below we redefine _DEBUG (see above)
#ifdef _SAVE_DEBUG
#define _DEBUG
#undef _SAVE_DEBUG
#endif
#include <fortranobject.c>
\ No newline at end of file
......@@ -188,27 +188,11 @@
#define _ZERO_ 0._rk
#define _ONE_ 1._rk
#ifdef _FABM_F2003_
! For backward compatibility only [pre Fortran 2003]:
#define _CLASS_ class
#else
#define _CLASS_ type
#endif
! Older Fortran compilers do not allow derived types to contain allocatable members
! (A Fortran >95 feature, defined in ISO Technical Report TR 15581 and part of the Fortran 2003 specification).
! As a workaround, they can be declared with the pointer attribute, which does bring a slight performance penalty.
! By using the below preprocessor definitions, the allocatable attribute is automatically replaced by the pointer
! attribute where needed, and related function calls are changed as well.
! These are used through FABM.
#ifdef _ISO_TR_15581_
#define _ALLOCATABLE_ allocatable
#define _NULL_
#define _ALLOCATED_ allocated
#else
#define _ALLOCATABLE_ pointer
#define _NULL_ =>null()
#define _ALLOCATED_ associated
#endif
! =================================================================================
! Further preprocessor macros for specifying spatial dimensionality and position
......@@ -220,12 +204,12 @@
#ifdef _FABM_HORIZONTAL_IS_SCALAR_
#define _INDEX_LOCATION_HZ_
#define _ATTR_LOCATION_DIMENSIONS_HZ_
#define _DIMENSION_GLOBAL_HORIZONTAL_
#define _PREARG_LOCATION_HZ_
#define _PREARG_LOCATION_DIMENSIONS_HZ_
#else
#define _INDEX_LOCATION_HZ_ (_LOCATION_HZ_)
#define _ATTR_LOCATION_DIMENSIONS_HZ_ ,dimension(_LOCATION_DIMENSIONS_HZ_)
#define _DIMENSION_GLOBAL_HORIZONTAL_ ,dimension(_LOCATION_DIMENSIONS_HZ_)
#define _PREARG_LOCATION_HZ_ _LOCATION_HZ_,
#define _PREARG_LOCATION_DIMENSIONS_HZ_ _LOCATION_DIMENSIONS_HZ_,
#endif
......@@ -236,7 +220,7 @@
#if _FABM_DIMENSION_COUNT_>0
#define _INDEX_LOCATION_ (_LOCATION_)
#define _ATTR_LOCATION_DIMENSIONS_ ,dimension(_LOCATION_DIMENSIONS_)
#define _DIMENSION_GLOBAL_ ,dimension(_LOCATION_DIMENSIONS_)
#define _ARG_LOCATION_ ,_LOCATION_
#define _ARG_LOCATION_DIMENSIONS_ ,_LOCATION_DIMENSIONS_
#define _PREARG_LOCATION_ _LOCATION_,
......@@ -244,7 +228,7 @@
#define _DECLARE_LOCATION_ARG_ integer,intent(in) :: _LOCATION_
#else
#define _INDEX_LOCATION_
#define _ATTR_LOCATION_DIMENSIONS_
#define _DIMENSION_GLOBAL_
#define _ARG_LOCATION_
#define _ARG_LOCATION_DIMENSIONS_
#define _PREARG_LOCATION_
......@@ -252,8 +236,8 @@
#define _DECLARE_LOCATION_ARG_
#endif
#define _ATTR_LOCATION_DIMENSIONS_PLUS_ONE_ ,dimension(_PREARG_LOCATION_DIMENSIONS_ :)
#define _ATTR_LOCATION_DIMENSIONS_HZ_PLUS_ONE_ ,dimension(_PREARG_LOCATION_DIMENSIONS_HZ_ :)
#define _DIMENSION_GLOBAL_PLUS_1_ ,dimension(_PREARG_LOCATION_DIMENSIONS_ :)
#define _DIMENSION_GLOBAL_HORIZONTAL_PLUS_1_ ,dimension(_PREARG_LOCATION_DIMENSIONS_HZ_ :)
#ifdef _FABM_USE_1D_LOOP_
......@@ -284,14 +268,17 @@
#endif
! Dimensionality of generic space-dependent arguments.
#define _ATTR_DIMENSIONS_0_ ,dimension(:)
#define _ATTR_DIMENSIONS_1_ ,dimension(:,:)
#define _ATTR_DIMENSIONS_2_ ,dimension(:,:,:)
#define _DIMENSION_SLICE_ ,dimension(:)
#define _DIMENSION_SLICE_PLUS_1_ ,dimension(:,:)
#define _DIMENSION_SLICE_PLUS_2_ ,dimension(:,:,:)
#define _INDEX_OUTPUT_ (_VARIABLE_1DLOOP_-fabm_loop_start+1)
#define _INDEX_OUTPUT_1D_(index) (_VARIABLE_1DLOOP_-fabm_loop_start+1,index)
#define _INDEX_OUTPUT_2D_(index1,index2) (_VARIABLE_1DLOOP_-fabm_loop_start+1,index1,index2)
#define _SIZE_SLICE_ fabm_loop_stop-fabm_loop_start+1,
#define _DIMENSION_SLICE_AUTOMATIC_ ,dimension(fabm_loop_stop-fabm_loop_start+1)
#else
! ---------------------------------------------------------------------------------
......@@ -310,15 +297,18 @@
#define _LOOP_END_
! Dimensionality of generic space-dependent arguments.
#define _ATTR_DIMENSIONS_0_
#define _ATTR_DIMENSIONS_1_ ,dimension(:)
#define _ATTR_DIMENSIONS_2_ ,dimension(:,:)
#define _DIMENSION_SLICE_
#define _DIMENSION_SLICE_PLUS_1_ ,dimension(:)
#define _DIMENSION_SLICE_PLUS_2_ ,dimension(:,:)
! Expressions for indexing space-dependent FABM variables defined on the full spatial domain.
#define _INDEX_OUTPUT_
#define _INDEX_OUTPUT_1D_(index) (index)
#define _INDEX_OUTPUT_2D_(index1,index2) (index1,index2)
#define _SIZE_SLICE_
#define _DIMENSION_SLICE_AUTOMATIC_
#endif
#define _LOOP_BEGIN_ _LOOP_BEGIN_EX_(environment)
......@@ -338,9 +328,9 @@
! Vertical dimension is not among those vectorized:
! dimensionality of horizontal arrays will be equal to that of full domain arrays.
#define _ATTR_DIMENSIONS_0_HZ_ _ATTR_DIMENSIONS_0_