Advances the OASIS coupling. More...
Public Member Functions | |
subroutine, public | oasis_advance_init (kinfo) |
Initializes the OASIS fields. More... | |
subroutine, public | oasis_advance_run (mop, varid, msec, kinfo, nff, namid, array1din, array1dout, array2dout, readrest, a2on, array2, a3on, array3, a4on, array4, a5on, array5) |
Advances the OASIS coupling. More... | |
Private Member Functions | |
subroutine | oasis_advance_map (av1, avd, mapper, conserv, consbfb, avon, av2, av3, av4, av5) |
Provides interpolation functionality. More... | |
subroutine | oasis_advance_avsum (av, sum, gsmap, mpicom, mask, wts, consbfb) |
A generic method for summing fields in an attribute vector. More... | |
subroutine | oasis_advance_avdiag (av, mpicom, mask, wts) |
A generic method for writing the global sums of fields in an attribute vector. More... | |
Advances the OASIS coupling.
Definition at line 4 of file mod_oasis_advance.F90.
|
private |
A generic method for writing the global sums of fields in an attribute vector.
Definition at line 1878 of file mod_oasis_advance.F90.
|
private |
A generic method for summing fields in an attribute vector.
Definition at line 1776 of file mod_oasis_advance.F90.
subroutine, public mod_oasis_advance::oasis_advance_init | ( | integer(kind=ip_i4_p), intent(inout) | kinfo | ) |
Initializes the OASIS fields.
[in,out] | kinfo | status, not used |
oasis_advance_init does the following
Definition at line 33 of file mod_oasis_advance.F90.
|
private |
Provides interpolation functionality.
Maps (regrids, interpolates) data from av1 to avd. av2-av5 are for higher order mapping (hot).
[in] | av1 | source av |
[in,out] | avd | dst av |
[in,out] | mapper | prism_mapper |
[in] | conserv | conserv flag |
[in] | consbfb | conserv bfb option |
[in] | avon | which source hot are on |
[in] | av2 | source av2 hot |
[in] | av3 | source av3 hot |
[in] | av4 | source av4 hot |
[in] | av5 | source av5 hot |
oasis_advance_map does the following
Definition at line 1475 of file mod_oasis_advance.F90.
subroutine, public mod_oasis_advance::oasis_advance_run | ( | integer(kind=ip_i4_p), intent(in) | mop, |
integer(kind=ip_i4_p), intent(in) | varid, | ||
integer(kind=ip_i4_p), intent(in) | msec, | ||
integer(kind=ip_i4_p), intent(inout) | kinfo, | ||
integer(kind=ip_i4_p), optional | nff, | ||
integer(kind=ip_i4_p), optional | namid, | ||
real (kind=ip_r8_p), dimension(:), optional | array1din, | ||
real (kind=ip_r8_p), dimension(:), optional | array1dout, | ||
real (kind=ip_r8_p), dimension(:,:), optional | array2dout, | ||
logical, optional | readrest, | ||
logical, optional | a2on, | ||
real (kind=ip_r8_p), dimension(:), optional | array2, | ||
logical, optional | a3on, | ||
real (kind=ip_r8_p), dimension(:), optional | array3, | ||
logical, optional | a4on, | ||
real (kind=ip_r8_p), dimension(:), optional | array4, | ||
logical, optional | a5on, | ||
real (kind=ip_r8_p), dimension(:), optional | array5 | ||
) |
Advances the OASIS coupling.
Only one from array1din, array1dout, or array2dout can be passed in. readrest is set to true when called by the oasis_advance_init method. Arrays 2 to 5 are for the higher order terms (hot)
[in] | mop | OASIS_Out or OASIS_In |
[in] | varid | prism_var id |
[in] | msec | model time |
[in,out] | kinfo | status |
nff | specify particular field for restart | |
namid | only do this namcouple method for restart | |
array1din | 1D put data | |
array1dout | 1D get data | |
array2dout | 2D get data | |
readrest | special flag to indicate this is called from the advance_init | |
a2on | logical for array2 | |
array2 | hot put data | |
a3on | logical for array3 | |
array3 | hot put data | |
a4on | logical for array4 | |
array4 | hot put data | |
a5on | logical for array5 | |
array5 | hot put data |
oasis_advance_run does the following
Definition at line 282 of file mod_oasis_advance.F90.