コード例 #1
0
#-----------------------------------------------------------------------------
# Testing pfset with a .pfidb file
#-----------------------------------------------------------------------------

from pathlib import Path

from parflow import Run
from parflow.tools.fs import get_absolute_path

dsingle = Run("dsingle", __file__)

dsingle.pfset(pfidb_file=get_absolute_path(
    '$PF_SRC/test/correct_output/dsingle.pfidb.ref'))


# Test pfidb
generated, _ = dsingle.write()
old_text = Path(generated).read_text()

dsingle2 = Run.from_definition(generated)
generated, _ = dsingle2.write()

new_text = Path(generated).read_text()

assert old_text and new_text
assert old_text == new_text


# Test yaml
generated, _ = dsingle.write(file_format='yaml')
old_text = Path(generated).read_text()
コード例 #2
0
ファイル: pfset_test.py プロジェクト: mahdadt/parflow-360
# Concen_Region Geometry Input
#---------------------------------------------------------
pfset_test.GeomInput.concen_region_input.InputType = 'Box'
pfset_test.GeomInput.concen_region_input.GeomName = 'concen_region'

#---------------------------------------------------------
# Phase names
#---------------------------------------------------------
pfset_test.Phase.Names = 'water'

#---------------------------------------------------------
# pfset: Key/Value
#---------------------------------------------------------

# Test key that does not exist
pfset_test.pfset(key='A.New.Key.Test', value='SomeSuperContent')
# Test key that does not exist with partial valid path
pfset_test.pfset(key='Process.Topology.Random.Path', value=5)
# Test key that does not exist from a child element
pfset_test.Process.Topology.pfset(key='Random.PathFromTopology', value=6)
# Test setting a valid value from a full path
pfset_test.pfset(key='Process.Topology.P', value=2)
# Test setting a valid value from a relative path
pfset_test.Process.pfset(key='Topology.Q', value=3)
# Test setting a valid field
pfset_test.Process.Topology.pfset(key='R', value=4)
# Test setting an invalid field
pfset_test.Process.Topology.pfset(key='Seb', value=5)

#-----------------------------------------------------------------------------
# pfset: hierarchical_map
コード例 #3
0
ファイル: full_clone.py プロジェクト: ben-bou/parflow
#---------------------------------------------------------
# Testing Python clone function
#---------------------------------------------------------

import sys
import os
from parflow import Run
from parflow.tools.fs import get_absolute_path

test = Run('full_clone', __file__)

test.pfset(yamlFile='$PF_SRC/test/correct_output/full_clone.yaml.ref', exit_if_undefined=True)

#-----------------------------------------------------------------------------

test.validate()
generatedFile, runFile = test.write(file_format='yaml')

# Prevent regression
with open(generatedFile) as new, open(get_absolute_path('$PF_SRC/test/correct_output/full_clone.yaml.ref')) as ref:
  if new.read() == ref.read():
    print('Success we have the same file')
  else:
    print('Files are different')
    sys.exit(1)