Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(ArrayReaders): Fix issue reading binary 2d arrays #41

Merged
merged 11 commits into from
Sep 18, 2018
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Additional cleanup of variable definitions. Modified .travis.yml to
require successful testing of gfortran-7 and gfortran-8 environments.
  • Loading branch information
jdhughes-usgs committed Aug 29, 2018
commit 8ec3f2e8fa873122bd61841760f49b794f874089
8 changes: 5 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,11 @@ matrix:
- latex-xcolor
- unzip

allow_failures:
- env: CVER=gfortran7
- env: CVER=gfortran8
# allowed failures - uncomment lines below to allow failure
# of specific gfortran compilers
#allow_failures:
# - env: CVER=gfortran7
# - env: CVER=gfortran8



Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

## Automated Testing Status on Travis-CI

### Version 6.0.3 develop — build 10
### Version 6.0.3 develop — build 11
[![Build Status](https://travis-ci.org/MODFLOW-USGS/modflow6.svg?branch=develop)](https://travis-ci.org/MODFLOW-USGS/modflow6)

## Introduction
Expand Down
16 changes: 8 additions & 8 deletions code.json
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
[
{
"status": "Release Candidate",
"downloadURL": "https://code.usgs.gov/usgs/modflow/modflow6/archive/master.zip",
"languages": [
"Fortran2008"
],
"repositoryURL": "https://code.usgs.gov/usgs/modflow/modflow6.git",
"disclaimerURL": "https://code.usgs.gov/usgs/modflow/modflow6/blob/master/DISCLAIMER.md",
"description": "MODFLOW is the USGS's modular hydrologic model. MODFLOW is considered an international standard for simulating and predicting groundwater conditions and groundwater/surface-water interactions.",
"name": "modflow6",
"tags": [
"MODFLOW",
"groundwater model"
],
"vcs": "git",
"languages": [
"Fortran2008"
],
"contact": {
"name": "Christian D. Langevin",
"email": "[email protected]"
},
"downloadURL": "https://code.usgs.gov/usgs/modflow/modflow6/archive/master.zip",
"vcs": "git",
"laborHours": -1,
"version": "6.0.3.10",
"version": "6.0.3.11",
"date": {
"metadataLastUpdated": "2018-08-29"
},
Expand All @@ -33,6 +33,6 @@
"usageType": "openSource"
},
"homepageURL": "https://code.usgs.gov/usgs/modflow/modflow6/",
"name": "modflow6"
"description": "MODFLOW is the USGS's modular hydrologic model. MODFLOW is considered an international standard for simulating and predicting groundwater conditions and groundwater/surface-water interactions."
}
]
2 changes: 1 addition & 1 deletion doc/version.tex
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
\newcommand{\modflowversion}{mf6.0.3.10}
\newcommand{\modflowversion}{mf6.0.3.11}
\newcommand{\modflowdate}{August 29, 2018}
\newcommand{\currentmodflowversion}{Version \modflowversion---\modflowdate}
36 changes: 18 additions & 18 deletions src/Exchange/GhostNode.f90
Original file line number Diff line number Diff line change
Expand Up @@ -13,24 +13,24 @@ module GhostNodeModule
public :: gnc_cr

type, extends(NumericalPackageType) :: GhostNodeType
logical, pointer :: smgnc => null() ! single model gnc
logical, pointer :: implicit => null() ! lhs or rhs
logical, pointer :: i2kn => null() ! not used
integer(I4B), pointer :: nexg => null() ! number of gncs
integer(I4B), pointer :: numjs => null() ! number of connecting nodes
class(NumericalModelType), pointer :: m1 => null() ! pointer to model 1
class(NumericalModelType), pointer :: m2 => null() ! pointer to model 2
integer(I4B), dimension(:), pointer, contiguous :: nodem1 => null() ! array of nodes in model 1
integer(I4B), dimension(:), pointer, contiguous :: nodem2 => null() ! array of nodes in model 2
integer(I4B), dimension(:, :), pointer, contiguous :: nodesj => null() ! array of interpolation nodes
real(DP), dimension(:), pointer, contiguous :: cond => null() ! array of conductance
integer(I4B), dimension(:), pointer, contiguous :: idxglo => null() ! connection position in amat
integer(I4B), dimension(:), pointer, contiguous :: idxsymglo => null() ! symmetric position in amat
real(DP), dimension(:, :), pointer, contiguous :: alphasj => null() ! interpolation factors
integer(I4B), dimension(:), pointer, contiguous :: idiagn => null() ! amat diagonal position of n
integer(I4B), dimension(:), pointer, contiguous :: idiagm => null() ! amat diagonal position of m
integer(I4B), dimension(:,:), pointer, contiguous :: jposinrown => null() ! amat j position in row n
integer(I4B), dimension(:,:), pointer, contiguous :: jposinrowm => null() ! amat j position in row m
logical, pointer :: smgnc => null() ! single model gnc
logical, pointer :: implicit => null() ! lhs or rhs
logical, pointer :: i2kn => null() ! not used
integer(I4B), pointer :: nexg => null() ! number of gncs
integer(I4B), pointer :: numjs => null() ! number of connecting nodes
class(NumericalModelType), pointer :: m1 => null() ! pointer to model 1
class(NumericalModelType), pointer :: m2 => null() ! pointer to model 2
integer(I4B), dimension(:), pointer, contiguous :: nodem1 => null() ! array of nodes in model 1
integer(I4B), dimension(:), pointer, contiguous :: nodem2 => null() ! array of nodes in model 2
integer(I4B), dimension(:, :), pointer, contiguous :: nodesj => null() ! array of interpolation nodes
real(DP), dimension(:), pointer, contiguous :: cond => null() ! array of conductance
integer(I4B), dimension(:), pointer, contiguous :: idxglo => null() ! connection position in amat
integer(I4B), dimension(:), pointer, contiguous :: idxsymglo => null() ! symmetric position in amat
real(DP), dimension(:, :), pointer, contiguous :: alphasj => null() ! interpolation factors
integer(I4B), dimension(:), pointer, contiguous :: idiagn => null() ! amat diagonal position of n
integer(I4B), dimension(:), pointer, contiguous :: idiagm => null() ! amat diagonal position of m
integer(I4B), dimension(:,:), pointer, contiguous :: jposinrown => null() ! amat j position in row n
integer(I4B), dimension(:,:), pointer, contiguous :: jposinrowm => null() ! amat j position in row m
contains
procedure :: gnc_df
procedure :: gnc_ac
Expand Down
45 changes: 23 additions & 22 deletions src/Exchange/GwfGwfExchange.f90
Original file line number Diff line number Diff line change
Expand Up @@ -23,28 +23,29 @@ module GwfGwfExchangeModule
public :: gwfexchange_create

type, extends(NumericalExchangeType) :: GwfExchangeType
type(GwfModelType), pointer :: gwfmodel1 => null() ! pointer to GWF Model 1
type(GwfModelType), pointer :: gwfmodel2 => null() ! pointer to GWF Model 2
integer(I4B), pointer :: inewton => null() ! newton flag (1 newton is on)
integer(I4B), pointer :: icellavg => null() ! cell averaging
integer(I4B), pointer :: ivarcv => null() ! variable cv
integer(I4B), pointer :: idewatcv => null() ! dewatered cv
integer(I4B), pointer :: ianglex => null() ! flag indicating anglex was read, if read, ianglex is index in auxvar
integer(I4B), pointer :: icdist => null() ! flag indicating cdist was read, if read, icdist is index in auxvar
integer(I4B), pointer :: inamedbound => null() ! flag to read boundnames
real(DP), pointer :: satomega => null() ! saturation smoothing
integer(I4B), dimension(:), pointer, contiguous :: ihc => null() ! horizontal connection indicator array
real(DP), dimension(:), pointer, contiguous :: condsat => null() ! saturated conductance
real(DP), dimension(:), pointer, contiguous :: cl1 => null() ! connection length 1
real(DP), dimension(:), pointer, contiguous :: cl2 => null() ! connection length 2
real(DP), dimension(:), pointer, contiguous :: hwva => null() ! horizontal widths, vertical flow areas
integer(I4B), pointer :: ingnc => null() ! unit number for gnc (0 if off)
type(GhostNodeType), pointer :: gnc => null() ! gnc object
integer(I4B), pointer :: inmvr => null() ! unit number for mover (0 if off)
type(GwfMvrType), pointer :: mvr => null() ! water mover object
integer(I4B), pointer :: inobs => null() ! unit number for GWF-GWF observations
type(ObsType), pointer :: obs => null() ! observation object
character(len=LENBOUNDNAME), dimension(:), pointer, contiguous :: boundname => null() ! boundnames
type(GwfModelType), pointer :: gwfmodel1 => null() ! pointer to GWF Model 1
type(GwfModelType), pointer :: gwfmodel2 => null() ! pointer to GWF Model 2
integer(I4B), pointer :: inewton => null() ! newton flag (1 newton is on)
integer(I4B), pointer :: icellavg => null() ! cell averaging
integer(I4B), pointer :: ivarcv => null() ! variable cv
integer(I4B), pointer :: idewatcv => null() ! dewatered cv
integer(I4B), pointer :: ianglex => null() ! flag indicating anglex was read, if read, ianglex is index in auxvar
integer(I4B), pointer :: icdist => null() ! flag indicating cdist was read, if read, icdist is index in auxvar
integer(I4B), pointer :: inamedbound => null() ! flag to read boundnames
real(DP), pointer :: satomega => null() ! saturation smoothing
integer(I4B), dimension(:), pointer, contiguous :: ihc => null() ! horizontal connection indicator array
real(DP), dimension(:), pointer, contiguous :: condsat => null() ! saturated conductance
real(DP), dimension(:), pointer, contiguous :: cl1 => null() ! connection length 1
real(DP), dimension(:), pointer, contiguous :: cl2 => null() ! connection length 2
real(DP), dimension(:), pointer, contiguous :: hwva => null() ! horizontal widths, vertical flow areas
integer(I4B), pointer :: ingnc => null() ! unit number for gnc (0 if off)
type(GhostNodeType), pointer :: gnc => null() ! gnc object
integer(I4B), pointer :: inmvr => null() ! unit number for mover (0 if off)
type(GwfMvrType), pointer :: mvr => null() ! water mover object
integer(I4B), pointer :: inobs => null() ! unit number for GWF-GWF observations
type(ObsType), pointer :: obs => null() ! observation object
character(len=LENBOUNDNAME), dimension(:), &
pointer, contiguous :: boundname => null() ! boundnames
contains
procedure :: exg_df => gwf_gwf_df
procedure :: exg_ac => gwf_gwf_ac
Expand Down
36 changes: 18 additions & 18 deletions src/Exchange/NumericalExchange.f90
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,24 @@ module NumericalExchangeModule
AddNumericalExchangeToList, GetNumericalExchangeFromList

type, extends(BaseExchangeType) :: NumericalExchangeType
character(len=LINELENGTH), pointer :: filename !name of the input file
character(len=7), pointer :: typename !name of the type (e.g., 'NM-NM')
logical, pointer :: implicit !logical flag to indicate implicit or explict exchange
integer(I4B), pointer :: iprpak !print input flag
integer(I4B), pointer :: iprflow !print flag for cell by cell flows
integer(I4B), pointer :: ipakcb !save flag for cell by cell flows
integer(I4B), pointer :: nexg !number of exchanges
integer(I4B), dimension(:), pointer, contiguous :: nodem1 !node numbers in model 1
integer(I4B), dimension(:), pointer, contiguous :: nodem2 !node numbers in model 2
real(DP), dimension(:), pointer, contiguous :: cond !conductance
integer(I4B), dimension(:), pointer, contiguous :: idxglo !pointer to solution amat for each connection
integer(I4B), dimension(:), pointer, contiguous :: idxsymglo !pointer to symmetric amat position for each connection
class(NumericalModelType), pointer :: m1 !pointer to model 1
class(NumericalModelType), pointer :: m2 !pointer to model 2
integer(I4B), pointer :: naux !number of auxiliary variables
character(len=16), allocatable, dimension(:) :: auxname !array of auxiliary variable names
real(DP), dimension(:, :), pointer, contiguous :: auxvar !array of auxiliary variable values
type(BlockParserType) :: parser !block parser
character(len=LINELENGTH), pointer :: filename => null() !name of the input file
character(len=7), pointer :: typename => null() !name of the type (e.g., 'NM-NM')
logical, pointer :: implicit => null() !logical flag to indicate implicit or explict exchange
integer(I4B), pointer :: iprpak => null() !print input flag
integer(I4B), pointer :: iprflow => null() !print flag for cell by cell flows
integer(I4B), pointer :: ipakcb => null() !save flag for cell by cell flows
integer(I4B), pointer :: nexg => null() !number of exchanges
integer(I4B), dimension(:), pointer, contiguous :: nodem1 => null() !node numbers in model 1
integer(I4B), dimension(:), pointer, contiguous :: nodem2 => null() !node numbers in model 2
real(DP), dimension(:), pointer, contiguous :: cond => null() !conductance
integer(I4B), dimension(:), pointer, contiguous :: idxglo => null() !pointer to solution amat for each connection
integer(I4B), dimension(:), pointer, contiguous :: idxsymglo => null() !pointer to symmetric amat position for each connection
class(NumericalModelType), pointer :: m1 => null() !pointer to model 1
class(NumericalModelType), pointer :: m2 => null() !pointer to model 2
integer(I4B), pointer :: naux => null() !number of auxiliary variables
character(len=16), allocatable, dimension(:) :: auxname !array of auxiliary variable names
real(DP), dimension(:, :), pointer, contiguous :: auxvar => null() !array of auxiliary variable values
type(BlockParserType) :: parser !block parser
contains
procedure :: exg_df
procedure :: exg_ac
Expand Down
20 changes: 10 additions & 10 deletions src/Model/BaseModel.f90
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ module BaseModelModule
GetBaseModelFromList

type :: BaseModelType
character(len=LENMODELNAME), pointer :: name => null() ! name of the model
character(len=3), pointer :: macronym => null() ! 3 letter model acronym (GWF, GWT, ...)
integer(I4B), pointer :: idsoln => null() ! id of the solution model is in
integer(I4B), pointer :: id => null() ! model id
integer(I4B), pointer :: iout => null() ! output unit number
integer(I4B), pointer :: inewton => null() ! newton-raphson flag
integer(I4B), pointer :: iprpak => null() ! integer flag to echo input
integer(I4B), pointer :: iprflow => null() ! flag to print simulated flows
integer(I4B), pointer :: ipakcb => null() ! save_flows flag
logical, pointer :: single_model_run => null() ! indicate if it is a single model run
character(len=LENMODELNAME), pointer :: name => null() ! name of the model
character(len=3), pointer :: macronym => null() ! 3 letter model acronym (GWF, GWT, ...)
integer(I4B), pointer :: idsoln => null() ! id of the solution model is in
integer(I4B), pointer :: id => null() ! model id
integer(I4B), pointer :: iout => null() ! output unit number
integer(I4B), pointer :: inewton => null() ! newton-raphson flag
integer(I4B), pointer :: iprpak => null() ! integer flag to echo input
integer(I4B), pointer :: iprflow => null() ! flag to print simulated flows
integer(I4B), pointer :: ipakcb => null() ! save_flows flag
logical, pointer :: single_model_run => null() ! indicate if it is a single model run
contains
procedure :: model_df
procedure :: model_ar
Expand Down
Loading