@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
name: wrf-python |
||||
channels: |
||||
- conda-forge |
||||
dependencies: |
||||
- gcc |
||||
- setuptools |
||||
- python |
||||
- numpy |
||||
- wrapt |
||||
- xarray |
||||
- netcdf4 |
@ -0,0 +1,73 @@
@@ -0,0 +1,73 @@
|
||||
# Python CircleCI 2.0 configuration file |
||||
# |
||||
# Check https://circleci.com/docs/2.0/language-python/ for more details |
||||
# |
||||
version: 2 |
||||
jobs: |
||||
build: |
||||
docker: |
||||
# specify the version you desire here |
||||
# use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers` |
||||
- image: circleci/python:3.6.1 |
||||
|
||||
# Specify service dependencies here if necessary |
||||
# CircleCI maintains a library of pre-built images |
||||
# documented at https://circleci.com/docs/2.0/circleci-images/ |
||||
# - image: circleci/postgres:9.4 |
||||
|
||||
working_directory: ~/repo |
||||
|
||||
steps: |
||||
- checkout |
||||
|
||||
# Download and cache dependencies |
||||
- restore_cache: |
||||
keys: |
||||
- v1-dependencies-{{ checksum ".circleci/conda_env.yml" }} |
||||
|
||||
- run: |
||||
name: install conda and dependencies |
||||
command: | |
||||
test -d ~/miniconda3 && exit 0 |
||||
echo "Installing a fresh version of Miniconda." |
||||
MINICONDA_URL="https://repo.continuum.io/miniconda" |
||||
MINICONDA_FILE="Miniconda3-latest-Linux-x86_64.sh" |
||||
curl -L -O "${MINICONDA_URL}/${MINICONDA_FILE}" |
||||
bash $MINICONDA_FILE -b |
||||
source ~/miniconda3/bin/activate root |
||||
conda env create -f .circleci/conda_env.yml |
||||
|
||||
- save_cache: |
||||
paths: |
||||
- ~/miniconda3 |
||||
key: v1-dependencies-{{ checksum ".circleci/conda_env.yml" }} |
||||
|
||||
- run: |
||||
name: build wrf-python |
||||
command: | |
||||
source ~/miniconda3/bin/activate wrf-python |
||||
cd fortran/build_help |
||||
gfortran -o sizes -fopenmp omp_sizes.f90 |
||||
LD_LIBRARY_PATH=~/miniconda3/envs/wrf-python/lib python sub_sizes.py |
||||
cd .. |
||||
gfortran -E ompgen.F90 -fopenmp -cpp -o omp.f90 |
||||
cd .. |
||||
python setup.py config_fc --f90flags="-mtune=generic -fopenmp" build_ext --libraries="gomp" build |
||||
python setup.py install --single-version-externally-managed --record=record.txt |
||||
|
||||
|
||||
# run tests! |
||||
# this example uses Django's built-in test-runner |
||||
# other common Python testing frameworks include pytest and nose |
||||
# https://pytest.org |
||||
# https://nose.readthedocs.io |
||||
- run: |
||||
name: run tests |
||||
command: | |
||||
source ~/miniconda3/bin/activate wrf-python |
||||
cd test/ci_tests |
||||
python utests.py |
||||
|
||||
- store_artifacts: |
||||
path: test-reports |
||||
destination: test-reports |
Before Width: | Height: | Size: 229 KiB After Width: | Height: | Size: 148 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 96 KiB |
Before Width: | Height: | Size: 279 KiB After Width: | Height: | Size: 192 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 161 KiB After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 18 KiB |
@ -0,0 +1,119 @@
@@ -0,0 +1,119 @@
|
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| Variable Name | Calculated From | Description | Available Units | Additional Keyword Arguments | |
||||
+====================+======================+===============================================================+=============================+=========================================================================================================================================================+ |
||||
| mcape | cape_2d | 2D Max CAPE | J kg-1 | **missing** (float): Fill value for output only | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| mcin | cape_2d | 2D Max CIN | J kg-1 | **missing** (float): Fill value for output only | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| lcl | cape_2d | 2D Lifted Condensation Level | J kg-1 | **missing** (float): Fill value for output only | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| lfc | cape_2d | 2D Level of Free Convection | J kg-1 | **missing** (float): Fill value for output only | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| cape3d_only | cape_3d | 3D CAPE | J kg-1 | **missing** (float): Fill value for output only | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| cin3d_only | cape_3d | 3D CIN | J kg-1 | **missing** (float): Fill value for output only | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| low_cloudfrac | cloudfrac | Cloud Fraction for Low Clouds | % | **vert_type** (str): The vertical coordinate type for the cloud thresholds. Must be 'height_agl', 'height_msl', or 'pres'. Default is 'height_agl'. | |
||||
| | | | | | |
||||
| | | | | **low_thresh** (float): The low cloud threshold (meters for 'height_agl' and 'height_msl', pascals for 'pres'). Default is 300 m (97000 Pa) | |
||||
| | | | | | |
||||
| | | | | **mid_thresh** (float): The mid cloud threshold (meters for 'height_agl' and 'height_msl', pascals for 'pres'). Default is 2000 m (80000 Pa) | |
||||
| | | | | | |
||||
| | | | | **high_thresh** (float): The high cloud threshold (meters for 'height_agl' and 'height_msl', pascals for 'pres'). Default is 6000 m (45000 Pa) | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| mid_cloudfrac | cloudfrac | Cloud Fraction for Mid Clouds | % | **vert_type** (str): The vertical coordinate type for the cloud thresholds. Must be 'height_agl', 'height_msl', or 'pres'. Default is 'height_agl'. | |
||||
| | | | | | |
||||
| | | | | **low_thresh** (float): The low cloud threshold (meters for 'height_agl' and 'height_msl', pascals for 'pres'). Default is 300 m (97000 Pa) | |
||||
| | | | | | |
||||
| | | | | **mid_thresh** (float): The mid cloud threshold (meters for 'height_agl' and 'height_msl', pascals for 'pres'). Default is 2000 m (80000 Pa) | |
||||
| | | | | | |
||||
| | | | | **high_thresh** (float): The high cloud threshold (meters for 'height_agl' and 'height_msl', pascals for 'pres'). Default is 6000 m (45000 Pa) | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| high_cloudfrac | cloudfrac | Cloud Fraction for High Clouds | % | **vert_type** (str): The vertical coordinate type for the cloud thresholds. Must be 'height_agl', 'height_msl', or 'pres'. Default is 'height_agl'. | |
||||
| | | | | | |
||||
| | | | | **low_thresh** (float): The low cloud threshold (meters for 'height_agl' and 'height_msl', pascals for 'pres'). Default is 300 m (97000 Pa) | |
||||
| | | | | | |
||||
| | | | | **mid_thresh** (float): The mid cloud threshold (meters for 'height_agl' and 'height_msl', pascals for 'pres'). Default is 2000 m (80000 Pa) | |
||||
| | | | | | |
||||
| | | | | **high_thresh** (float): The high cloud threshold (meters for 'height_agl' and 'height_msl', pascals for 'pres'). Default is 6000 m (45000 Pa) | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| uvmet_wspd | uvmet_wspd_wdir | Wind Speed | m s-1 | **units** (str) : Set to desired units. Default is *'m s-1'*. | |
||||
| | | | | | |
||||
| | | Rotated to Earth Coordinates | km h-1 | | |
||||
| | | | | | |
||||
| | | | mi h-1 | | |
||||
| | | | | | |
||||
| | | | kt | | |
||||
| | | | | | |
||||
| | | | ft s-1 | | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| uvmet_wdir | uvmet_wspd_wdir | Wind Direction (wind_from_direction) | m s-1 | **units** (str) : Set to desired units. Default is *'m s-1'*. | |
||||
| | | | | | |
||||
| | | Rotated to Earth Coordinates | km h-1 | | |
||||
| | | | | | |
||||
| | | | mi h-1 | | |
||||
| | | | | | |
||||
| | | | kt | | |
||||
| | | | | | |
||||
| | | | ft s-1 | | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| uvmet10_wspd | uvmet10_wspd_wdir | 10m Wind Speed | m s-1 | **units** (str) : Set to desired units. Default is *'m s-1'*. | |
||||
| | | | | | |
||||
| | | Rotated to Earth Coordinates | km h-1 | | |
||||
| | | | | | |
||||
| | | | mi h-1 | | |
||||
| | | | | | |
||||
| | | | kt | | |
||||
| | | | | | |
||||
| | | | ft s-1 | | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| uvmet10_wdir | uvmet10_wspd_wdir | 10m Wind Direction (wind_from_direction) | m s-1 | **units** (str) : Set to desired units. Default is *'m s-1'*. | |
||||
| | | | | | |
||||
| | | Rotated to Earth Coordinates | km h-1 | | |
||||
| | | | | | |
||||
| | | | mi h-1 | | |
||||
| | | | | | |
||||
| | | | kt | | |
||||
| | | | | | |
||||
| | | | ft s-1 | | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| wspd | wspd_wdir | Wind Speed | m s-1 | **units** (str) : Set to desired units. Default is *'m s-1'*. | |
||||
| | | | | | |
||||
| | | in Grid Coordinates | km h-1 | | |
||||
| | | | | | |
||||
| | | | mi h-1 | | |
||||
| | | | | | |
||||
| | | | kt | | |
||||
| | | | | | |
||||
| | | | ft s-1 | | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| wdir | wspd_wdir | Wind Direction (wind_from_direction) | m s-1 | **units** (str) : Set to desired units. Default is *'m s-1'*. | |
||||
| | | | | | |
||||
| | | in Grid Coordinates | km h-1 | | |
||||
| | | | | | |
||||
| | | | mi h-1 | | |
||||
| | | | | | |
||||
| | | | kt | | |
||||
| | | | | | |
||||
| | | | ft s-1 | | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| wspd10 | wspd_wdir10 | 10m Wind Speed | m s-1 | **units** (str) : Set to desired units. Default is *'m s-1'*. | |
||||
| | | | | | |
||||
| | | in Grid Coordinates | km h-1 | | |
||||
| | | | | | |
||||
| | | | mi h-1 | | |
||||
| | | | | | |
||||
| | | | kt | | |
||||
| | | | | | |
||||
| | | | ft s-1 | | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
||||
| wdir10 | wspd_wdir10 | 10m Wind Direction (wind_from_direction) | m s-1 | **units** (str) : Set to desired units. Default is *'m s-1'*. | |
||||
| | | | | | |
||||
| | | in Grid Coordinates | km h-1 | | |
||||
| | | | | | |
||||
| | | | mi h-1 | | |
||||
| | | | | | |
||||
| | | | kt | | |
||||
| | | | | | |
||||
| | | | ft s-1 | | |
||||
+--------------------+----------------------+---------------------------------------------------------------+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ |
@ -1,795 +0,0 @@
@@ -1,795 +0,0 @@
|
||||
! -*- f90 -*- |
||||
! Note: the context of this file is case sensitive. |
||||
|
||||
python module _wrffortran ! in |
||||
interface ! in :_wrffortran |
||||
subroutine dcalcuh(nx,ny,nz,nzp1,zp,mapfct,dx,dy,uhmnhgt,uhmxhgt,us,vs,w,uh,tem1,tem2) ! in :_wrffortran:calc_uh.f90 |
||||
threadsafe |
||||
integer, optional,intent(in),check(shape(zp,0)==nx),depend(zp) :: nx=shape(zp,0) |
||||
integer, optional,intent(in),check(shape(zp,1)==ny),depend(zp) :: ny=shape(zp,1) |
||||
integer, optional,intent(in),check(shape(us,2)==nz),depend(us) :: nz=shape(us,2) |
||||
integer, optional,intent(in),check(shape(zp,2)==nzp1),depend(zp) :: nzp1=shape(zp,2) |
||||
real(kind=8) dimension(nx,ny,nzp1),intent(in) :: zp |
||||
real(kind=8) dimension(nx,ny),intent(in),depend(nx,ny) :: mapfct |
||||
real(kind=8) intent(in) :: dx |
||||
real(kind=8) intent(in) :: dy |
||||
real(kind=8) intent(in) :: uhmnhgt |
||||
real(kind=8) intent(in) :: uhmxhgt |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny) :: us |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: vs |
||||
real(kind=8) dimension(nx,ny,nzp1),intent(in),depend(nx,ny,nzp1) :: w |
||||
real(kind=8) dimension(nx,ny),intent(out,in),depend(nx,ny) :: uh |
||||
real(kind=8) dimension(nx,ny,nz),intent(inout),depend(nx,ny,nz) :: tem1 |
||||
real(kind=8) dimension(nx,ny,nz),intent(inout),depend(nx,ny,nz) :: tem2 |
||||
end subroutine dcalcuh |
||||
subroutine deqthecalc(qvp,tmk,prs,eth,miy,mjx,mkzh) ! in :_wrffortran:eqthecalc.f90 |
||||
threadsafe |
||||
use wrf_constants, only: tlclc2,tlclc3,tlclc1,tlclc4,eps,thtecon3,gammamd,thtecon1,gamma,thtecon2 |
||||
real(kind=8) dimension(miy,mjx,mkzh),intent(in) :: qvp |
||||
real(kind=8) dimension(miy,mjx,mkzh),intent(in),depend(miy,mjx,mkzh) :: tmk |
||||
real(kind=8) dimension(miy,mjx,mkzh),intent(in),depend(miy,mjx,mkzh) :: prs |
||||
real(kind=8) dimension(miy,mjx,mkzh),intent(out,in),depend(miy,mjx,mkzh) :: eth |
||||
integer, optional,intent(in),check(shape(qvp,0)==miy),depend(qvp) :: miy=shape(qvp,0) |
||||
integer, optional,intent(in),check(shape(qvp,1)==mjx),depend(qvp) :: mjx=shape(qvp,1) |
||||
integer, optional,intent(in),check(shape(qvp,2)==mkzh),depend(qvp) :: mkzh=shape(qvp,2) |
||||
end subroutine deqthecalc |
||||
module omp_constants ! in :_wrffortran:omp.f90 |
||||
integer, parameter,optional :: fomp_nest_lock_kind=8 |
||||
integer(kind=4), parameter,optional :: fomp_sched_dynamic=2 |
||||
integer(kind=4), parameter,optional :: fomp_sched_guided=3 |
||||
integer, parameter,optional :: fomp_sched_kind=4 |
||||
integer(kind=4), parameter,optional :: fomp_sched_static=1 |
||||
integer, parameter,optional :: fomp_lock_kind=4 |
||||
integer(kind=4), parameter,optional :: fomp_sched_auto=4 |
||||
end module omp_constants |
||||
function fomp_enabled() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
logical :: fomp_enabled |
||||
end function fomp_enabled |
||||
subroutine fomp_set_num_threads(num_threads) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
integer intent(in) :: num_threads |
||||
end subroutine fomp_set_num_threads |
||||
function fomp_get_num_threads() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
integer :: fomp_get_num_threads |
||||
end function fomp_get_num_threads |
||||
function fomp_get_max_threads() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
integer :: fomp_get_max_threads |
||||
end function fomp_get_max_threads |
||||
function fomp_get_thread_num() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
integer :: fomp_get_thread_num |
||||
end function fomp_get_thread_num |
||||
function fomp_get_num_procs() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
integer :: fomp_get_num_procs |
||||
end function fomp_get_num_procs |
||||
function fomp_in_parallel() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
logical :: fomp_in_parallel |
||||
end function fomp_in_parallel |
||||
subroutine fomp_set_dynamic(dynamic_threads) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
logical intent(in) :: dynamic_threads |
||||
end subroutine fomp_set_dynamic |
||||
function fomp_get_dynamic() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
logical :: fomp_get_dynamic |
||||
end function fomp_get_dynamic |
||||
subroutine fomp_set_nested(nested) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
logical intent(in) :: nested |
||||
end subroutine fomp_set_nested |
||||
function fomp_get_nested() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
logical :: fomp_get_nested |
||||
end function fomp_get_nested |
||||
subroutine fomp_set_schedule(kind,modifier) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
use omp_constants, only: fomp_sched_kind |
||||
integer(kind=4) intent(in) :: kind |
||||
integer intent(in) :: modifier |
||||
end subroutine fomp_set_schedule |
||||
subroutine fomp_get_schedule(kind,modifier) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
use omp_constants, only: fomp_sched_kind |
||||
integer(kind=4) intent(out) :: kind |
||||
integer intent(out) :: modifier |
||||
end subroutine fomp_get_schedule |
||||
function fomp_get_thread_limit() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
integer :: fomp_get_thread_limit |
||||
end function fomp_get_thread_limit |
||||
subroutine fomp_set_max_active_levels(max_levels) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
integer intent(in) :: max_levels |
||||
end subroutine fomp_set_max_active_levels |
||||
function fomp_get_max_active_levels() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
integer :: fomp_get_max_active_levels |
||||
end function fomp_get_max_active_levels |
||||
function fomp_get_level() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
integer :: fomp_get_level |
||||
end function fomp_get_level |
||||
function fomp_get_ancestor_thread_num(level) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
integer intent(in) :: level |
||||
integer :: fomp_get_ancestor_thread_num |
||||
end function fomp_get_ancestor_thread_num |
||||
function fomp_get_team_size(level) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
integer intent(in) :: level |
||||
integer :: fomp_get_team_size |
||||
end function fomp_get_team_size |
||||
function fomp_get_active_level() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
integer :: fomp_get_active_level |
||||
end function fomp_get_active_level |
||||
function fomp_in_final() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
logical :: fomp_in_final |
||||
end function fomp_in_final |
||||
subroutine fomp_init_lock(svar) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
use omp_constants, only: fomp_lock_kind |
||||
integer(kind=4) intent(out) :: svar |
||||
end subroutine fomp_init_lock |
||||
subroutine fomp_init_nest_lock(nvar) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
use omp_constants, only: fomp_nest_lock_kind |
||||
integer(kind=8) intent(out) :: nvar |
||||
end subroutine fomp_init_nest_lock |
||||
subroutine fomp_destroy_lock(svar) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
use omp_constants, only: fomp_lock_kind |
||||
integer(kind=4) intent(inout) :: svar |
||||
end subroutine fomp_destroy_lock |
||||
subroutine fomp_destroy_nest_lock(nvar) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
use omp_constants, only: fomp_nest_lock_kind |
||||
integer(kind=8) intent(inout) :: nvar |
||||
end subroutine fomp_destroy_nest_lock |
||||
subroutine fomp_set_lock(svar) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
use omp_constants, only: fomp_lock_kind |
||||
integer(kind=4) intent(inout) :: svar |
||||
end subroutine fomp_set_lock |
||||
subroutine fomp_set_nest_lock(nvar) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
use omp_constants, only: fomp_nest_lock_kind |
||||
integer(kind=8) intent(inout) :: nvar |
||||
end subroutine fomp_set_nest_lock |
||||
subroutine fomp_unset_lock(svar) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
use omp_constants, only: fomp_lock_kind |
||||
integer(kind=4) intent(inout) :: svar |
||||
end subroutine fomp_unset_lock |
||||
subroutine fomp_unset_nest_lock(nvar) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
use omp_constants, only: fomp_nest_lock_kind |
||||
integer(kind=8) intent(inout) :: nvar |
||||
end subroutine fomp_unset_nest_lock |
||||
function fomp_test_lock(svar) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
use omp_constants, only: fomp_lock_kind |
||||
integer(kind=4) intent(inout) :: svar |
||||
logical :: fomp_test_lock |
||||
end function fomp_test_lock |
||||
function fomp_test_nest_lock(nvar) ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
use omp_constants, only: fomp_nest_lock_kind |
||||
integer(kind=8) intent(inout) :: nvar |
||||
integer :: fomp_test_nest_lock |
||||
end function fomp_test_nest_lock |
||||
function fomp_get_wtime() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
real(kind=8) :: fomp_get_wtime |
||||
end function fomp_get_wtime |
||||
function fomp_get_wtick() ! in :_wrffortran:omp.f90 |
||||
threadsafe |
||||
real(kind=8) :: fomp_get_wtick |
||||
end function fomp_get_wtick |
||||
function tvirtual(temp,ratmix) ! in :_wrffortran:rip_cape.f90 |
||||
threadsafe |
||||
use wrf_constants, only: eps |
||||
real(kind=8) intent(in) :: temp |
||||
real(kind=8) intent(in) :: ratmix |
||||
real(kind=8) :: tvirtual |
||||
end function tvirtual |
||||
function tonpsadiabat(thte,prs,psadithte,psadiprs,psaditmk,gamma,errstat,errmsg) ! in :_wrffortran:rip_cape.f90 |
||||
threadsafe |
||||
use wrf_constants, only: algerr |
||||
real(kind=8) intent(in) :: thte |
||||
real(kind=8) intent(in) :: prs |
||||
real(kind=8) dimension(150),intent(in) :: psadithte |
||||
real(kind=8) dimension(150),intent(in) :: psadiprs |
||||
real(kind=8) dimension(150,150),intent(in) :: psaditmk |
||||
real(kind=8) intent(in) :: gamma |
||||
integer intent(inout) :: errstat |
||||
character*(*) intent(inout) :: errmsg |
||||
real(kind=8) :: tonpsadiabat |
||||
end function tonpsadiabat |
||||
subroutine dlookup_table(psadithte,psadiprs,psaditmk,fname,errstat,errmsg) ! in :_wrffortran:rip_cape.f90 |
||||
threadsafe |
||||
use wrf_constants, only: algerr |
||||
real(kind=8) dimension(150),intent(inout) :: psadithte |
||||
real(kind=8) dimension(150),intent(inout) :: psadiprs |
||||
real(kind=8) dimension(150,150),intent(inout) :: psaditmk |
||||
character*(*) intent(in) :: fname |
||||
integer intent(inout) :: errstat |
||||
character*(*) intent(inout) :: errmsg |
||||
end subroutine dlookup_table |
||||
subroutine dpfcalc(prs,sfp,pf,mix,mjy,mkzh,ter_follow) ! in :_wrffortran:rip_cape.f90 |
||||
real(kind=8) dimension(mkzh,mix,mjy),intent(in) :: prs |
||||
real(kind=8) dimension(mix,mjy),intent(in),depend(mix,mjy) :: sfp |
||||
real(kind=8) dimension(mkzh,mix,mjy),intent(out),depend(mkzh,mix,mjy) :: pf |
||||
integer, optional,intent(in),check(shape(prs,1)==mix),depend(prs) :: mix=shape(prs,1) |
||||
integer, optional,intent(in),check(shape(prs,2)==mjy),depend(prs) :: mjy=shape(prs,2) |
||||
integer, optional,intent(in),check(shape(prs,0)==mkzh),depend(prs) :: mkzh=shape(prs,0) |
||||
integer intent(in) :: ter_follow |
||||
end subroutine dpfcalc |
||||
subroutine dcapecalc3d(prs,tmk,qvp,ght,ter,sfp,cape,cin,prsf,prs_new,tmk_new,qvp_new,ght_new,cmsg,mix,mjy,mkzh,ter_follow,psafile,errstat,errmsg) ! in :_wrffortran:rip_cape.f90 |
||||
threadsafe |
||||
use wrf_constants, only: tlclc2,gamma,tlclc1,rgasmd,tlclc4,g,tlclc3,thtecon3,eps,rd,cpmd,celkel,gammamd,eslcon2,eslcon1,cp,thtecon1,ezero,thtecon2 |
||||
real(kind=8) dimension(mix,mjy,mkzh),intent(in) :: prs |
||||
real(kind=8) dimension(mix,mjy,mkzh),intent(in),depend(mix,mjy,mkzh) :: tmk |
||||
real(kind=8) dimension(mix,mjy,mkzh),intent(in),depend(mix,mjy,mkzh) :: qvp |
||||
real(kind=8) dimension(mix,mjy,mkzh),intent(in),depend(mix,mjy,mkzh) :: ght |
||||
real(kind=8) dimension(mix,mjy),intent(in),depend(mix,mjy) :: ter |
||||
real(kind=8) dimension(mix,mjy),intent(in),depend(mix,mjy) :: sfp |
||||
real(kind=8) dimension(mix,mjy,mkzh),intent(out,in),depend(mix,mjy,mkzh) :: cape |
||||
real(kind=8) dimension(mix,mjy,mkzh),intent(out,in),depend(mix,mjy,mkzh) :: cin |
||||
real(kind=8) dimension(mkzh,mix,mjy),intent(inout),depend(mkzh,mix,mjy) :: prsf |
||||
real(kind=8) dimension(mkzh,mix,mjy),intent(inout),depend(mkzh,mix,mjy) :: prs_new |
||||
real(kind=8) dimension(mkzh,mix,mjy),intent(inout),depend(mkzh,mix,mjy) :: tmk_new |
||||
real(kind=8) dimension(mkzh,mix,mjy),intent(inout),depend(mkzh,mix,mjy) :: qvp_new |
||||
real(kind=8) dimension(mkzh,mix,mjy),intent(inout),depend(mkzh,mix,mjy) :: ght_new |
||||
real(kind=8) intent(in) :: cmsg |
||||
integer, optional,intent(in),check(shape(prs,0)==mix),depend(prs) :: mix=shape(prs,0) |
||||
integer, optional,intent(in),check(shape(prs,1)==mjy),depend(prs) :: mjy=shape(prs,1) |
||||
integer, optional,intent(in),check(shape(prs,2)==mkzh),depend(prs) :: mkzh=shape(prs,2) |
||||
integer intent(in) :: ter_follow |
||||
character*(*) intent(in) :: psafile |
||||
integer intent(inout) :: errstat |
||||
character*(*) intent(inout) :: errmsg |
||||
end subroutine dcapecalc3d |
||||
subroutine dcapecalc2d(prs,tmk,qvp,ght,ter,sfp,cape,cin,prsf,prs_new,tmk_new,qvp_new,ght_new,cmsg,mix,mjy,mkzh,ter_follow,psafile,errstat,errmsg) ! in :_wrffortran:rip_cape.f90 |
||||
threadsafe |
||||
use wrf_constants, only: tlclc2,gamma,tlclc1,rgasmd,tlclc4,g,tlclc3,thtecon3,eps,rd,cpmd,celkel,gammamd,eslcon2,eslcon1,cp,thtecon1,ezero,thtecon2 |
||||
real(kind=8) dimension(mix,mjy,mkzh),intent(in) :: prs |
||||
real(kind=8) dimension(mix,mjy,mkzh),intent(in),depend(mix,mjy,mkzh) :: tmk |
||||
real(kind=8) dimension(mix,mjy,mkzh),intent(in),depend(mix,mjy,mkzh) :: qvp |
||||
real(kind=8) dimension(mix,mjy,mkzh),intent(in),depend(mix,mjy,mkzh) :: ght |
||||
real(kind=8) dimension(mix,mjy),intent(in),depend(mix,mjy) :: ter |
||||
real(kind=8) dimension(mix,mjy),intent(in),depend(mix,mjy) :: sfp |
||||
real(kind=8) dimension(mix,mjy,mkzh),intent(out,in),depend(mix,mjy,mkzh) :: cape |
||||
real(kind=8) dimension(mix,mjy,mkzh),intent(out,in),depend(mix,mjy,mkzh) :: cin |
||||
real(kind=8) dimension(mkzh,mix,mjy),intent(inout),depend(mkzh,mix,mjy) :: prsf |
||||
real(kind=8) dimension(mkzh,mix,mjy),intent(inout),depend(mkzh,mix,mjy) :: prs_new |
||||
real(kind=8) dimension(mkzh,mix,mjy),intent(inout),depend(mkzh,mix,mjy) :: tmk_new |
||||
real(kind=8) dimension(mkzh,mix,mjy),intent(inout),depend(mkzh,mix,mjy) :: qvp_new |
||||
real(kind=8) dimension(mkzh,mix,mjy),intent(inout),depend(mkzh,mix,mjy) :: ght_new |
||||
real(kind=8) intent(in) :: cmsg |
||||
integer, optional,intent(in),check(shape(prs,0)==mix),depend(prs) :: mix=shape(prs,0) |
||||
integer, optional,intent(in),check(shape(prs,1)==mjy),depend(prs) :: mjy=shape(prs,1) |
||||
integer, optional,intent(in),check(shape(prs,2)==mkzh),depend(prs) :: mkzh=shape(prs,2) |
||||
integer intent(in) :: ter_follow |
||||
character*(*) intent(in) :: psafile |
||||
integer intent(inout) :: errstat |
||||
character*(*) intent(inout) :: errmsg |
||||
end subroutine dcapecalc2d |
||||
subroutine dcloudfrac(pres,rh,lowc,midc,highc,nz,ns,ew) ! in :_wrffortran:wrf_cloud_fracf.f90 |
||||
threadsafe |
||||
real(kind=8) dimension(ew,ns,nz),intent(in) :: pres |
||||
real(kind=8) dimension(ew,ns,nz),intent(in),depend(ew,ns,nz) :: rh |
||||
real(kind=8) dimension(ew,ns),intent(out,in),depend(ew,ns) :: lowc |
||||
real(kind=8) dimension(ew,ns),intent(out,in),depend(ew,ns) :: midc |
||||
real(kind=8) dimension(ew,ns),intent(out,in),depend(ew,ns) :: highc |
||||
integer, optional,check(shape(pres,2)==nz),depend(pres) :: nz=shape(pres,2) |
||||
integer, optional,check(shape(pres,1)==ns),depend(pres) :: ns=shape(pres,1) |
||||
integer, optional,check(shape(pres,0)==ew),depend(pres) :: ew=shape(pres,0) |
||||
end subroutine dcloudfrac |
||||
subroutine dcloudfrac2(vert,rh,vert_inc_w_height,low_thresh,mid_thresh,high_thresh,msg,lowc,midc,highc,nz,ns,ew) ! in :_wrffortran:wrf_cloud_fracf.f90 |
||||
threadsafe |
||||
real(kind=8) dimension(ew,ns,nz),intent(in) :: vert |
||||
real(kind=8) dimension(ew,ns,nz),intent(in),depend(ew,ns,nz) :: rh |
||||
integer intent(in) :: vert_inc_w_height |
||||
real(kind=8) intent(in) :: low_thresh |
||||
real(kind=8) intent(in) :: mid_thresh |
||||
real(kind=8) intent(in) :: high_thresh |
||||
real(kind=8) intent(in) :: msg |
||||
real(kind=8) dimension(ew,ns),intent(out,in),depend(ew,ns) :: lowc |
||||
real(kind=8) dimension(ew,ns),intent(out,in),depend(ew,ns) :: midc |
||||
real(kind=8) dimension(ew,ns),intent(out,in),depend(ew,ns) :: highc |
||||
integer, optional,check(shape(vert,2)==nz),depend(vert) :: nz=shape(vert,2) |
||||
integer, optional,check(shape(vert,1)==ns),depend(vert) :: ns=shape(vert,1) |
||||
integer, optional,check(shape(vert,0)==ew),depend(vert) :: ew=shape(vert,0) |
||||
end subroutine dcloudfrac2 |
||||
module wrf_constants ! in :_wrffortran:wrf_constants.f90 |
||||
real(kind=4), parameter,optional :: default_fill_float=9.96920996839e+36 |
||||
integer(kind=8), parameter,optional :: default_fill_int64=int(-9223372036854775806d0, kind=8) |
||||
real(kind=8), parameter,optional :: wrf_earth_radius=6370000.d0 |
||||
character(len=1), parameter,optional :: default_fill_char=achar(0) |
||||
real(kind=8), parameter,optional :: rhowat=1000.d0 |
||||
real(kind=8), parameter,optional :: t_base=300.0d0 |
||||
real(kind=8), parameter,optional :: cp=1004.5d0 |
||||
real(kind=8), parameter,optional :: thtecon1=3376.d0 |
||||
real(kind=8), parameter,optional :: thtecon3=.81d0 |
||||
real(kind=8), parameter,optional :: thtecon2=2.54d0 |
||||
real(kind=8), parameter,optional :: p1000mb=100000.d0 |
||||
real(kind=8), parameter,optional :: rv=461.6d0 |
||||
real(kind=8), parameter,optional,depend(pi) :: rad_per_deg=pi/180.d0 |
||||
real(kind=8), parameter,optional :: default_fill_double=9.9692099683868690d36 |
||||
real(kind=8), parameter,optional :: rd=287.d0 |
||||
real(kind=8), parameter,optional :: abscoef=.145d0 |
||||
real(kind=8), parameter,optional :: celkel=273.15d0 |
||||
real(kind=8), parameter,optional :: abscoefi=.272d0 |
||||
real(kind=8), parameter,optional :: eslcon2=29.65d0 |
||||
real(kind=8), parameter,optional :: eslcon1=17.67d0 |
||||
real(kind=8), parameter,optional :: pi=3.1415926535897932384626433d0 |
||||
integer(kind=1), parameter,optional :: default_fill_int8=-127 |
||||
real(kind=8), parameter,optional :: tlclc2=3.5d0 |
||||
real(kind=8), parameter,optional :: tlclc3=4.805d0 |
||||
real(kind=8), parameter,optional :: rho_g=400.d0 |
||||
real(kind=8), parameter,optional :: tlclc1=2840.d0 |
||||
real(kind=8), parameter,optional :: tlclc4=55.d0 |
||||
integer(kind=2), parameter,optional :: default_fill_int16=-32767 |
||||
real(kind=8), parameter,optional,depend(pi) :: deg_per_rad=180.d0/pi |
||||
real(kind=8), parameter,optional :: cpmd=.887d0 |
||||
real(kind=8), parameter,optional,depend(rd,g) :: sclht=rd*256.d0/g |
||||
real(kind=8), parameter,optional :: ussalr=0.0065d0 |
||||
real(kind=8), parameter,optional :: default_fill=9.9692099683868690d36 |
||||
real(kind=8), parameter,optional :: rho_s=100.d0 |
||||
real(kind=8), parameter,optional,depend(rhowat) :: rho_r=1000.0 |
||||
real(kind=8), parameter,optional :: alpha=0.224d0 |
||||
real(kind=8), parameter,optional :: celkel_triple=273.16d0 |
||||
real(kind=8), parameter,optional :: ezero=6.112d0 |
||||
real(kind=8), parameter,optional,depend(rd,ussalr,g) :: expon=0.190163098879 |
||||
real(kind=8), parameter,optional :: rgasmd=.608d0 |
||||
real(kind=8), parameter,optional :: g=9.81d0 |
||||
integer, optional :: errlen=512 |
||||
integer(kind=4), parameter,optional :: default_fill_int32=-2147483647 |
||||
real(kind=8), parameter,optional :: gamma_seven=720.d0 |
||||
real(kind=8), parameter,optional,depend(cpmd,rgasmd) :: gammamd=-0.279 |
||||
real(kind=8), parameter,optional :: eps=0.622d0 |
||||
integer, optional :: algerr=64 |
||||
real(kind=8), parameter,optional,depend(cp,rd) :: gamma=0.285714285714 |
||||
real(kind=8), parameter,optional,depend(expon,rd,ussalr,g) :: exponi=5.25864379523 |
||||
end module wrf_constants |
||||
subroutine wrfcttcalc(prs,tk,qci,qcw,qvp,ght,ter,ctt,pf,haveqci,fill_nocloud,missing,opt_thresh,nz,ns,ew) ! in :_wrffortran:wrf_fctt.f90 |
||||
threadsafe |
||||
use wrf_constants, only: g,eps,rd,ussalr,abscoefi,abscoef,celkel |
||||
real(kind=8) dimension(ew,ns,nz),intent(in) :: prs |
||||
real(kind=8) dimension(ew,ns,nz),intent(in),depend(ew,ns,nz) :: tk |
||||
real(kind=8) dimension(ew,ns,nz),intent(in),depend(ew,ns,nz) :: qci |
||||
real(kind=8) dimension(ew,ns,nz),intent(in),depend(ew,ns,nz) :: qcw |
||||
real(kind=8) dimension(ew,ns,nz),intent(in),depend(ew,ns,nz) :: qvp |
||||
real(kind=8) dimension(ew,ns,nz),intent(in),depend(ew,ns,nz) :: ght |
||||
real(kind=8) dimension(ew,ns),intent(in),depend(ew,ns) :: ter |
||||
real(kind=8) dimension(ew,ns),intent(out,in),depend(ew,ns) :: ctt |
||||
real(kind=8) dimension(ew,ns,nz),intent(inout),depend(ew,ns,nz) :: pf |
||||
integer intent(in) :: haveqci |
||||
integer intent(in) :: fill_nocloud |
||||
real(kind=8) intent(in) :: missing |
||||
real(kind=8) intent(in) :: opt_thresh |
||||
integer, optional,intent(in),check(shape(prs,2)==nz),depend(prs) :: nz=shape(prs,2) |
||||
integer, optional,intent(in),check(shape(prs,1)==ns),depend(prs) :: ns=shape(prs,1) |
||||
integer, optional,intent(in),check(shape(prs,0)==ew),depend(prs) :: ew=shape(prs,0) |
||||
end subroutine wrfcttcalc |
||||
subroutine dcomputeabsvort(av,u,v,msfu,msfv,msft,cor,dx,dy,nx,ny,nz,nxp1,nyp1) ! in :_wrffortran:wrf_pvo.f90 |
||||
threadsafe |
||||
real(kind=8) dimension(nx,ny,nz),intent(out,in) :: av |
||||
real(kind=8) dimension(nxp1,ny,nz),intent(in),depend(ny,nz) :: u |
||||
real(kind=8) dimension(nx,nyp1,nz),intent(in),depend(nx,nz) :: v |
||||
real(kind=8) dimension(nxp1,ny),intent(in),depend(nxp1,ny) :: msfu |
||||
real(kind=8) dimension(nx,nyp1),intent(in),depend(nx,nyp1) :: msfv |
||||
real(kind=8) dimension(nx,ny),intent(in),depend(nx,ny) :: msft |
||||
real(kind=8) dimension(nx,ny),intent(in),depend(nx,ny) :: cor |
||||
real(kind=8) :: dx |
||||
real(kind=8) :: dy |
||||
integer, optional,intent(in),check(shape(av,0)==nx),depend(av) :: nx=shape(av,0) |
||||
integer, optional,intent(in),check(shape(av,1)==ny),depend(av) :: ny=shape(av,1) |
||||
integer, optional,intent(in),check(shape(av,2)==nz),depend(av) :: nz=shape(av,2) |
||||
integer, optional,intent(in),check(shape(u,0)==nxp1),depend(u) :: nxp1=shape(u,0) |
||||
integer, optional,intent(in),check(shape(v,1)==nyp1),depend(v) :: nyp1=shape(v,1) |
||||
end subroutine dcomputeabsvort |
||||
subroutine dcomputepv(pv,u,v,theta,prs,msfu,msfv,msft,cor,dx,dy,nx,ny,nz,nxp1,nyp1) ! in :_wrffortran:wrf_pvo.f90 |
||||
threadsafe |
||||
use wrf_constants, only: g |
||||
real(kind=8) dimension(nx,ny,nz),intent(out,in) :: pv |
||||
real(kind=8) dimension(nxp1,ny,nz),intent(in),depend(ny,nz) :: u |
||||
real(kind=8) dimension(nx,nyp1,nz),intent(in),depend(nx,nz) :: v |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: theta |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: prs |
||||
real(kind=8) dimension(nxp1,ny),intent(in),depend(nxp1,ny) :: msfu |
||||
real(kind=8) dimension(nx,nyp1),intent(in),depend(nx,nyp1) :: msfv |
||||
real(kind=8) dimension(nx,ny),intent(in),depend(nx,ny) :: msft |
||||
real(kind=8) dimension(nx,ny),intent(in),depend(nx,ny) :: cor |
||||
real(kind=8) :: dx |
||||
real(kind=8) :: dy |
||||
integer, optional,intent(in),check(shape(pv,0)==nx),depend(pv) :: nx=shape(pv,0) |
||||
integer, optional,intent(in),check(shape(pv,1)==ny),depend(pv) :: ny=shape(pv,1) |
||||
integer, optional,intent(in),check(shape(pv,2)==nz),depend(pv) :: nz=shape(pv,2) |
||||
integer, optional,intent(in),check(shape(u,0)==nxp1),depend(u) :: nxp1=shape(u,0) |
||||
integer, optional,intent(in),check(shape(v,1)==nyp1),depend(v) :: nyp1=shape(v,1) |
||||
end subroutine dcomputepv |
||||
subroutine dcomputepw(p,tv,qv,ht,pw,nx,ny,nz,nzh) ! in :_wrffortran:wrf_pw.f90 |
||||
threadsafe |
||||
use wrf_constants, only: rd |
||||
real(kind=8) dimension(nx,ny,nz),intent(in) :: p |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: tv |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: qv |
||||
real(kind=8) dimension(nx,ny,nzh),intent(in),depend(nx,ny) :: ht |
||||
real(kind=8) dimension(nx,ny),intent(out,in),depend(nx,ny) :: pw |
||||
integer, optional,intent(in),check(shape(p,0)==nx),depend(p) :: nx=shape(p,0) |
||||
integer, optional,intent(in),check(shape(p,1)==ny),depend(p) :: ny=shape(p,1) |
||||
integer, optional,intent(in),check(shape(p,2)==nz),depend(p) :: nz=shape(p,2) |
||||
integer, optional,intent(in),check(shape(ht,2)==nzh),depend(ht) :: nzh=shape(ht,2) |
||||
end subroutine dcomputepw |
||||
subroutine dcalrelhl(u,v,ght,ter,top,sreh,miy,mjx,mkzh) ! in :_wrffortran:wrf_relhl.f90 |
||||
threadsafe |
||||
use wrf_constants, only: rad_per_deg,deg_per_rad,pi |
||||
real(kind=8) dimension(miy,mjx,mkzh),intent(in) :: u |
||||
real(kind=8) dimension(miy,mjx,mkzh),intent(in),depend(miy,mjx,mkzh) :: v |
||||
real(kind=8) dimension(miy,mjx,mkzh),intent(in),depend(miy,mjx,mkzh) :: ght |
||||
real(kind=8) dimension(miy,mjx),intent(in),depend(miy,mjx) :: ter |
||||
real(kind=8) intent(in) :: top |
||||
real(kind=8) dimension(miy,mjx),intent(out,in),depend(miy,mjx) :: sreh |
||||
integer, optional,intent(in),check(shape(u,0)==miy),depend(u) :: miy=shape(u,0) |
||||
integer, optional,intent(in),check(shape(u,1)==mjx),depend(u) :: mjx=shape(u,1) |
||||
integer, optional,intent(in),check(shape(u,2)==mkzh),depend(u) :: mkzh=shape(u,2) |
||||
end subroutine dcalrelhl |
||||
subroutine wetbulbcalc(prs,tmk,qvp,twb,nx,ny,nz,psafile,errstat,errmsg) ! in :_wrffortran:wrf_rip_phys_routines.f90 |
||||
threadsafe |
||||
use wrf_constants, only: tlclc2,tlclc3,tlclc1,tlclc4,eps,thtecon3,gammamd,thtecon1,algerr,gamma,thtecon2 |
||||
real(kind=8) dimension(nx,ny,nz),intent(in) :: prs |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: tmk |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: qvp |
||||
real(kind=8) dimension(nx,ny,nz),intent(out,in),depend(nx,ny,nz) :: twb |
||||
integer, optional,intent(in),check(shape(prs,0)==nx),depend(prs) :: nx=shape(prs,0) |
||||
integer, optional,intent(in),check(shape(prs,1)==ny),depend(prs) :: ny=shape(prs,1) |
||||
integer, optional,intent(in),check(shape(prs,2)==nz),depend(prs) :: nz=shape(prs,2) |
||||
character*(*) intent(in) :: psafile |
||||
integer intent(inout) :: errstat |
||||
character*(*) intent(inout) :: errmsg |
||||
end subroutine wetbulbcalc |
||||
subroutine omgcalc(qvp,tmk,www,prs,omg,mx,my,mz) ! in :_wrffortran:wrf_rip_phys_routines.f90 |
||||
threadsafe |
||||
use wrf_constants, only: rd,eps,g |
||||
real(kind=8) dimension(mx,my,mz),intent(in) :: qvp |
||||
real(kind=8) dimension(mx,my,mz),intent(in),depend(mx,my,mz) :: tmk |
||||
real(kind=8) dimension(mx,my,mz),intent(in),depend(mx,my,mz) :: www |
||||
real(kind=8) dimension(mx,my,mz),intent(in),depend(mx,my,mz) :: prs |
||||
real(kind=8) dimension(mx,my,mz),intent(out,in),depend(mx,my,mz) :: omg |
||||
integer, optional,intent(in),check(shape(qvp,0)==mx),depend(qvp) :: mx=shape(qvp,0) |
||||
integer, optional,intent(in),check(shape(qvp,1)==my),depend(qvp) :: my=shape(qvp,1) |
||||
integer, optional,intent(in),check(shape(qvp,2)==mz),depend(qvp) :: mz=shape(qvp,2) |
||||
end subroutine omgcalc |
||||
subroutine virtual_temp(temp,ratmix,tv,nx,ny,nz) ! in :_wrffortran:wrf_rip_phys_routines.f90 |
||||
threadsafe |
||||
use wrf_constants, only: eps |
||||
real(kind=8) dimension(nx,ny,nz),intent(in) :: temp |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: ratmix |
||||
real(kind=8) dimension(nx,ny,nz),intent(out,in),depend(nx,ny,nz) :: tv |
||||
integer, optional,intent(in),check(shape(temp,0)==nx),depend(temp) :: nx=shape(temp,0) |
||||
integer, optional,intent(in),check(shape(temp,1)==ny),depend(temp) :: ny=shape(temp,1) |
||||
integer, optional,intent(in),check(shape(temp,2)==nz),depend(temp) :: nz=shape(temp,2) |
||||
end subroutine virtual_temp |
||||
subroutine testfunc(a,b,c,nx,ny,nz,errstat,errmsg) ! in :_wrffortran:wrf_testfunc.f90 |
||||
use wrf_constants, only: algerr |
||||
real(kind=8) dimension(nx,ny,nz),intent(in) :: a |
||||
real(kind=8) dimension(nx,ny,nz),intent(out,in),depend(nx,ny,nz) :: b |
||||
character*(*) intent(in) :: c |
||||
integer, optional,intent(in),check(shape(a,0)==nx),depend(a) :: nx=shape(a,0) |
||||
integer, optional,intent(in),check(shape(a,1)==ny),depend(a) :: ny=shape(a,1) |
||||
integer, optional,intent(in),check(shape(a,2)==nz),depend(a) :: nz=shape(a,2) |
||||
integer intent(inout) :: errstat |
||||
character*(*) intent(inout) :: errmsg |
||||
end subroutine testfunc |
||||
subroutine dcomputepi(pi,pressure,nx,ny,nz) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
use wrf_constants, only: rd,p1000mb,cp |
||||
real(kind=8) dimension(nx,ny,nz),intent(out,in) :: pi |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: pressure |
||||
integer, optional,intent(in),check(shape(pi,0)==nx),depend(pi) :: nx=shape(pi,0) |
||||
integer, optional,intent(in),check(shape(pi,1)==ny),depend(pi) :: ny=shape(pi,1) |
||||
integer, optional,intent(in),check(shape(pi,2)==nz),depend(pi) :: nz=shape(pi,2) |
||||
end subroutine dcomputepi |
||||
subroutine dcomputetk(tk,pressure,theta,nx) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
use wrf_constants, only: rd,p1000mb,cp |
||||
real(kind=8) dimension(nx),intent(out,in) :: tk |
||||
real(kind=8) dimension(nx),intent(in),depend(nx) :: pressure |
||||
real(kind=8) dimension(nx),intent(in),depend(nx) :: theta |
||||
integer, optional,intent(in),check(len(tk)>=nx),depend(tk) :: nx=len(tk) |
||||
end subroutine dcomputetk |
||||
subroutine dinterp3dz(data3d,out2d,zdata,desiredloc,nx,ny,nz,missingval) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
real(kind=8) dimension(nx,ny,nz),intent(in) :: data3d |
||||
real(kind=8) dimension(nx,ny),intent(out,in),depend(nx,ny) :: out2d |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: zdata |
||||
real(kind=8) intent(in) :: desiredloc |
||||
integer, optional,intent(in),check(shape(data3d,0)==nx),depend(data3d) :: nx=shape(data3d,0) |
||||
integer, optional,intent(in),check(shape(data3d,1)==ny),depend(data3d) :: ny=shape(data3d,1) |
||||
integer, optional,intent(in),check(shape(data3d,2)==nz),depend(data3d) :: nz=shape(data3d,2) |
||||
real(kind=8) intent(in) :: missingval |
||||
end subroutine dinterp3dz |
||||
subroutine dzstag(znew,nx,ny,nz,z,nxz,nyz,nzz,terrain) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
real(kind=8) dimension(nx,ny,nz),intent(out,in) :: znew |
||||
integer, optional,intent(in),check(shape(znew,0)==nx),depend(znew) :: nx=shape(znew,0) |
||||
integer, optional,intent(in),check(shape(znew,1)==ny),depend(znew) :: ny=shape(znew,1) |
||||
integer, optional,intent(in),check(shape(znew,2)==nz),depend(znew) :: nz=shape(znew,2) |
||||
real(kind=8) dimension(nxz,nyz,nzz),intent(in) :: z |
||||
integer, optional,intent(in),check(shape(z,0)==nxz),depend(z) :: nxz=shape(z,0) |
||||
integer, optional,intent(in),check(shape(z,1)==nyz),depend(z) :: nyz=shape(z,1) |
||||
integer, optional,intent(in),check(shape(z,2)==nzz),depend(z) :: nzz=shape(z,2) |
||||
real(kind=8) dimension(nxz,nyz),intent(in),depend(nxz,nyz) :: terrain |
||||
end subroutine dzstag |
||||
subroutine dinterp2dxy(v3d,v2d,xy,nx,ny,nz,nxy) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
real(kind=8) dimension(nx,ny,nz),intent(in) :: v3d |
||||
real(kind=8) dimension(nxy,nz),intent(out,in),depend(nz) :: v2d |
||||
real(kind=8) dimension(2,nxy),intent(in),depend(nxy) :: xy |
||||
integer, optional,intent(in),check(shape(v3d,0)==nx),depend(v3d) :: nx=shape(v3d,0) |
||||
integer, optional,intent(in),check(shape(v3d,1)==ny),depend(v3d) :: ny=shape(v3d,1) |
||||
integer, optional,intent(in),check(shape(v3d,2)==nz),depend(v3d) :: nz=shape(v3d,2) |
||||
integer, optional,intent(in),check(shape(v2d,0)==nxy),depend(v2d) :: nxy=shape(v2d,0) |
||||
end subroutine dinterp2dxy |
||||
subroutine dinterp1d(v_in,v_out,z_in,z_out,vmsg,nz_in,nz_out) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
real(kind=8) dimension(nz_in),intent(in) :: v_in |
||||
real(kind=8) dimension(nz_out),intent(out,in) :: v_out |
||||
real(kind=8) dimension(nz_in),intent(in),depend(nz_in) :: z_in |
||||
real(kind=8) dimension(nz_out),intent(in),depend(nz_out) :: z_out |
||||
real(kind=8) intent(in) :: vmsg |
||||
integer, optional,intent(in),check(len(v_in)>=nz_in),depend(v_in) :: nz_in=len(v_in) |
||||
integer, optional,intent(in),check(len(v_out)>=nz_out),depend(v_out) :: nz_out=len(v_out) |
||||
end subroutine dinterp1d |
||||
subroutine dcomputeseaprs(nx,ny,nz,z,t,p,q,sea_level_pressure,t_sea_level,t_surf,level,errstat,errmsg) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
use wrf_constants, only: rd,ussalr,algerr,g |
||||
integer, optional,intent(in),check(shape(z,0)==nx),depend(z) :: nx=shape(z,0) |
||||
integer, optional,intent(in),check(shape(z,1)==ny),depend(z) :: ny=shape(z,1) |
||||
integer, optional,intent(in),check(shape(z,2)==nz),depend(z) :: nz=shape(z,2) |
||||
real(kind=8) dimension(nx,ny,nz),intent(in) :: z |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: t |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: p |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: q |
||||
real(kind=8) dimension(nx,ny),intent(out,in),depend(nx,ny) :: sea_level_pressure |
||||
real(kind=8) dimension(nx,ny),intent(inout),depend(nx,ny) :: t_sea_level |
||||
real(kind=8) dimension(nx,ny),intent(inout),depend(nx,ny) :: t_surf |
||||
integer dimension(nx,ny),intent(inout),depend(nx,ny) :: level |
||||
integer intent(inout) :: errstat |
||||
character*(*) intent(inout) :: errmsg |
||||
end subroutine dcomputeseaprs |
||||
subroutine dfilter2d(a,b,nx,ny,it,missing) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
real(kind=8) dimension(nx,ny),intent(in,out) :: a |
||||
real(kind=8) dimension(nx,ny),intent(inout),depend(nx,ny) :: b |
||||
integer, optional,intent(in),check(shape(a,0)==nx),depend(a) :: nx=shape(a,0) |
||||
integer, optional,intent(in),check(shape(a,1)==ny),depend(a) :: ny=shape(a,1) |
||||
integer intent(in) :: it |
||||
real(kind=8) intent(in) :: missing |
||||
end subroutine dfilter2d |
||||
subroutine filter2d(a,b,nx,ny,it,missing) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
real(kind=4) dimension(nx,ny),intent(in,out) :: a |
||||
real(kind=4) dimension(nx,ny),intent(inout),depend(nx,ny) :: b |
||||
integer, optional,intent(in),check(shape(a,0)==nx),depend(a) :: nx=shape(a,0) |
||||
integer, optional,intent(in),check(shape(a,1)==ny),depend(a) :: ny=shape(a,1) |
||||
integer intent(in) :: it |
||||
real(kind=4) intent(in) :: missing |
||||
end subroutine filter2d |
||||
subroutine dcomputerh(qv,p,t,rh,nx) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
use wrf_constants, only: rv,eps,rd,ezero,eslcon2,eslcon1,celkel |
||||
real(kind=8) dimension(nx),intent(in) :: qv |
||||
real(kind=8) dimension(nx),intent(in),depend(nx) :: p |
||||
real(kind=8) dimension(nx),intent(in),depend(nx) :: t |
||||
real(kind=8) dimension(nx),intent(out,in),depend(nx) :: rh |
||||
integer, optional,intent(in),check(len(qv)>=nx),depend(qv) :: nx=len(qv) |
||||
end subroutine dcomputerh |
||||
subroutine dgetijlatlong(lat_array,long_array,lat,longitude,ii,jj,nx,ny,imsg) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
real(kind=8) dimension(nx,ny),intent(in) :: lat_array |
||||
real(kind=8) dimension(nx,ny),intent(in),depend(nx,ny) :: long_array |
||||
real(kind=8) :: lat |
||||
real(kind=8) :: longitude |
||||
integer intent(out,in) :: ii |
||||
integer intent(out,in) :: jj |
||||
integer, optional,intent(in),check(shape(lat_array,0)==nx),depend(lat_array) :: nx=shape(lat_array,0) |
||||
integer, optional,intent(in),check(shape(lat_array,1)==ny),depend(lat_array) :: ny=shape(lat_array,1) |
||||
integer intent(in) :: imsg |
||||
end subroutine dgetijlatlong |
||||
subroutine dcomputeuvmet(u,v,uvmet,longca,longcb,flong,flat,cen_long,cone,rpd,nx,ny,nxp1,nyp1,istag,is_msg_val,umsg,vmsg,uvmetmsg) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
real(kind=8) dimension(nxp1,ny),intent(in) :: u |
||||
real(kind=8) dimension(nx,nyp1),intent(in) :: v |
||||
real(kind=8) dimension(nx,ny,2),intent(out,in),depend(nx,ny) :: uvmet |
||||
real(kind=8) dimension(nx,ny),intent(inout),depend(nx,ny) :: longca |
||||
real(kind=8) dimension(nx,ny),intent(inout),depend(nx,ny) :: longcb |
||||
real(kind=8) dimension(nx,ny),intent(in),depend(nx,ny) :: flong |
||||
real(kind=8) dimension(nx,ny),intent(in),depend(nx,ny) :: flat |
||||
real(kind=8) intent(in) :: cen_long |
||||
real(kind=8) intent(in) :: cone |
||||
real(kind=8) intent(in) :: rpd |
||||
integer, optional,intent(in),check(shape(v,0)==nx),depend(v) :: nx=shape(v,0) |
||||
integer, optional,intent(in),check(shape(u,1)==ny),depend(u) :: ny=shape(u,1) |
||||
integer, optional,intent(in),check(shape(u,0)==nxp1),depend(u) :: nxp1=shape(u,0) |
||||
integer, optional,intent(in),check(shape(v,1)==nyp1),depend(v) :: nyp1=shape(v,1) |
||||
integer intent(in) :: istag |
||||
logical intent(in) :: is_msg_val |
||||
real(kind=8) intent(in) :: umsg |
||||
real(kind=8) intent(in) :: vmsg |
||||
real(kind=8) intent(in) :: uvmetmsg |
||||
end subroutine dcomputeuvmet |
||||
subroutine dcomputetd(td,pressure,qv_in,nx) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
real(kind=8) dimension(nx),intent(out,in) :: td |
||||
real(kind=8) dimension(nx),intent(in),depend(nx) :: pressure |
||||
real(kind=8) dimension(nx),intent(in),depend(nx) :: qv_in |
||||
integer, optional,intent(in),check(len(td)>=nx),depend(td) :: nx=len(td) |
||||
end subroutine dcomputetd |
||||
subroutine dcomputeiclw(iclw,pressure,qc_in,nx,ny,nz) ! in :_wrffortran:wrf_user.f90 |
||||
threadsafe |
||||
use wrf_constants, only: g |
||||
real(kind=8) dimension(nx,ny),intent(out,in) :: iclw |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny) :: pressure |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: qc_in |
||||
integer, optional,intent(in),check(shape(iclw,0)==nx),depend(iclw) :: nx=shape(iclw,0) |
||||
integer, optional,intent(in),check(shape(iclw,1)==ny),depend(iclw) :: ny=shape(iclw,1) |
||||
integer, optional,intent(in),check(shape(pressure,2)==nz),depend(pressure) :: nz=shape(pressure,2) |
||||
end subroutine dcomputeiclw |
||||
subroutine calcdbz(prs,tmk,qvp,qra,qsn,qgr,sn0,ivarint,iliqskin,dbz,nx,ny,nz) ! in :_wrffortran:wrf_user_dbz.f90 |
||||
threadsafe |
||||
use wrf_constants, only: rho_g,gamma_seven,rho_r,rd,rho_s,alpha,rhowat,pi,celkel |
||||
real(kind=8) dimension(nx,ny,nz),intent(in) :: prs |
||||
real(kind=8) dimension(nx,ny,nz),intent(in),depend(nx,ny,nz) :: tmk |
||||
real(kind=8) dimension(nx,ny,nz),intent(inout),depend(nx,ny,nz) :: qvp |
||||
real(kind=8) dimension(nx,ny,nz),intent(inout),depend(nx,ny,nz) :: qra |
||||
real(kind=8) dimension(nx,ny,nz),intent(inout),depend(nx,ny,nz) :: qsn |
||||
real(kind=8) dimension(nx,ny,nz),intent(inout),depend(nx,ny,nz) :: qgr |
||||
integer intent(in) :: sn0 |
||||
integer intent(in) :: ivarint |
||||
integer intent(in) :: iliqskin |
||||
real(kind=8) dimension(nx,ny,nz),intent(out,in),depend(nx,ny,nz) :: dbz |
||||
integer, optional,intent(in),check(shape(prs,0)==nx),depend(prs) :: nx=shape(prs,0) |
||||
integer, optional,intent(in),check(shape(prs,1)==ny),depend(prs) :: ny=shape(prs,1) |
||||
integer, optional,intent(in),check(shape(prs,2)==nz),depend(prs) :: nz=shape(prs,2) |
||||
end subroutine calcdbz |
||||
subroutine rotatecoords(ilat,ilon,olat,olon,lat_np,lon_np,lon_0,direction) ! in :_wrffortran:wrf_user_latlon_routines.f90 |
||||
threadsafe |
||||
use wrf_constants, only: rad_per_deg,deg_per_rad,pi |
||||
real(kind=8) intent(in) :: ilat |
||||
real(kind=8) intent(in) :: ilon |
||||
real(kind=8) intent(out,in) :: olat |
||||
real(kind=8) intent(out,in) :: olon |
||||
real(kind=8) intent(in) :: lat_np |
||||
real(kind=8) intent(in) :: lon_np |
||||
real(kind=8) intent(in) :: lon_0 |
||||
integer intent(in) :: direction |
||||
end subroutine rotatecoords |
||||
subroutine dlltoij(map_proj,truelat1,truelat2,stdlon,lat1,lon1,pole_lat,pole_lon,knowni,knownj,dx,dy,latinc,loninc,lat,lon,loc,errstat,errmsg) ! in :_wrffortran:wrf_user_latlon_routines.f90 |
||||
threadsafe |
||||
use wrf_constants, only: rad_per_deg,deg_per_rad,pi,algerr,wrf_earth_radius |
||||
integer intent(in) :: map_proj |
||||
real(kind=8) intent(inout) :: truelat1 |
||||
real(kind=8) intent(inout) :: truelat2 |
||||
real(kind=8) intent(in) :: stdlon |
||||
real(kind=8) intent(in) :: lat1 |
||||
real(kind=8) intent(in) :: lon1 |
||||
real(kind=8) intent(in) :: pole_lat |
||||
real(kind=8) intent(in) :: pole_lon |
||||
real(kind=8) intent(in) :: knowni |
||||
real(kind=8) intent(in) :: knownj |
||||
real(kind=8) intent(in) :: dx |
||||
real(kind=8) intent(in) :: dy |
||||
real(kind=8) intent(in) :: latinc |
||||
real(kind=8) intent(in) :: loninc |
||||
real(kind=8) intent(inout) :: lat |
||||
real(kind=8) intent(inout) :: lon |
||||
real(kind=8) dimension(2),intent(out,in) :: loc |
||||
integer intent(inout) :: errstat |
||||
character*(*) intent(inout) :: errmsg |
||||
end subroutine dlltoij |
||||
subroutine dijtoll(map_proj,truelat1,truelat2,stdlon,lat1,lon1,pole_lat,pole_lon,knowni,knownj,dx,dy,latinc,loninc,ai,aj,loc,errstat,errmsg) ! in :_wrffortran:wrf_user_latlon_routines.f90 |
||||
threadsafe |
||||
use wrf_constants, only: rad_per_deg,deg_per_rad,pi,algerr,wrf_earth_radius |
||||
integer intent(in) :: map_proj |
||||
real(kind=8) intent(inout) :: truelat1 |
||||
real(kind=8) intent(inout) :: truelat2 |
||||
real(kind=8) intent(in) :: stdlon |
||||
real(kind=8) intent(in) :: lat1 |
||||
real(kind=8) intent(in) :: lon1 |
||||
real(kind=8) intent(in) :: pole_lat |
||||
real(kind=8) intent(in) :: pole_lon |
||||
real(kind=8) intent(in) :: knowni |
||||
real(kind=8) intent(in) :: knownj |
||||
real(kind=8) intent(in) :: dx |
||||
real(kind=8) intent(in) :: dy |
||||
real(kind=8) intent(in) :: latinc |
||||
real(kind=8) intent(in) :: loninc |
||||
real(kind=8) intent(in) :: ai |
||||
real(kind=8) intent(in) :: aj |
||||
real(kind=8) dimension(2),intent(out,in) :: loc |
||||
integer intent(inout) :: errstat |
||||
character*(*) intent(inout) :: errmsg |
||||
end subroutine dijtoll |
||||
subroutine wrf_monotonic(out,in,lvprs,cor,idir,delta,ew,ns,nz,icorsw) ! in :_wrffortran:wrf_vinterp.f90 |
||||
threadsafe |
||||
real(kind=8) dimension(ew,ns,nz),intent(out,in) :: out |
||||
real(kind=8) dimension(ew,ns,nz),intent(inout),depend(ew,ns,nz) :: in |
||||
real(kind=8) dimension(ew,ns,nz),intent(in),depend(ew,ns,nz) :: lvprs |
||||
real(kind=8) dimension(ew,ns),intent(in),depend(ew,ns) :: cor |
||||
integer intent(in) :: idir |
||||
real(kind=8) intent(in) :: delta |
||||
integer, optional,intent(in),check(shape(out,0)==ew),depend(out) :: ew=shape(out,0) |
||||
integer, optional,intent(in),check(shape(out,1)==ns),depend(out) :: ns=shape(out,1) |
||||
integer, optional,intent(in),check(shape(out,2)==nz),depend(out) :: nz=shape(out,2) |
||||
integer intent(in) :: icorsw |
||||
end subroutine wrf_monotonic |
||||
function wrf_intrp_value(wvalp0,wvalp1,vlev,vcp0,vcp1,icase,errstat) ! in :_wrffortran:wrf_vinterp.f90 |
||||
threadsafe |
||||
use wrf_constants, only: sclht,algerr |
||||
real(kind=8) intent(in) :: wvalp0 |
||||
real(kind=8) intent(in) :: wvalp1 |
||||
real(kind=8) intent(in) :: vlev |
||||
real(kind=8) intent(in) :: vcp0 |
||||
real(kind=8) intent(in) :: vcp1 |
||||
integer intent(in) :: icase |
||||
integer intent(inout) :: errstat |
||||
real(kind=8) :: wrf_intrp_value |
||||
end function wrf_intrp_value |
||||
subroutine wrf_vintrp(datain,dataout,pres,tk,qvp,ght,terrain,sfp,smsfp,vcarray,interp_levels,numlevels,icase,ew,ns,nz,extrap,vcor,logp,tempout,rmsg,errstat,errmsg) ! in :_wrffortran:wrf_vinterp.f90 |
||||
threadsafe |
||||
use wrf_constants, only: tlclc2,tlclc3,sclht,tlclc4,thtecon3,eps,tlclc1,celkel,exponi,gammamd,ussalr,expon,thtecon1,algerr,gamma,thtecon2 |
||||
real(kind=8) dimension(ew,ns,nz),intent(in) :: datain |
||||
real(kind=8) dimension(ew,ns,numlevels),intent(out,in),depend(ew,ns) :: dataout |
||||
real(kind=8) dimension(ew,ns,nz),intent(in),depend(ew,ns,nz) :: pres |
||||
real(kind=8) dimension(ew,ns,nz),intent(in),depend(ew,ns,nz) :: tk |
||||
real(kind=8) dimension(ew,ns,nz),intent(in),depend(ew,ns,nz) :: qvp |
||||
real(kind=8) dimension(ew,ns,nz),intent(in),depend(ew,ns,nz) :: ght |
||||
real(kind=8) dimension(ew,ns),intent(in),depend(ew,ns) :: terrain |
||||
real(kind=8) dimension(ew,ns),intent(in),depend(ew,ns) :: sfp |
||||
real(kind=8) dimension(ew,ns),intent(in),depend(ew,ns) :: smsfp |
||||
real(kind=8) dimension(ew,ns,nz),intent(in),depend(ew,ns,nz) :: vcarray |
||||
real(kind=8) dimension(numlevels),intent(in),depend(numlevels) :: interp_levels |
||||
integer, optional,intent(in),check(shape(dataout,2)==numlevels),depend(dataout) :: numlevels=shape(dataout,2) |
||||
integer intent(in) :: icase |
||||
integer, optional,intent(in),check(shape(datain,0)==ew),depend(datain) :: ew=shape(datain,0) |
||||
integer, optional,intent(in),check(shape(datain,1)==ns),depend(datain) :: ns=shape(datain,1) |
||||
integer, optional,intent(in),check(shape(datain,2)==nz),depend(datain) :: nz=shape(datain,2) |
||||
integer intent(in) :: extrap |
||||
integer intent(in) :: vcor |
||||
integer intent(in) :: logp |
||||
real(kind=8) dimension(ew,ns),intent(inout),depend(ew,ns) :: tempout |
||||
real(kind=8) intent(in) :: rmsg |
||||
integer intent(inout) :: errstat |
||||
character*(*) intent(inout) :: errmsg |
||||
end subroutine wrf_vintrp |
||||
subroutine dcomputewspd(wspd,u,v,nx,ny) ! in :_wrffortran:wrf_wind.f90 |
||||
threadsafe |
||||
real(kind=8) dimension(nx,ny),intent(out,in) :: wspd |
||||
real(kind=8) dimension(nx,ny),intent(in),depend(nx,ny) :: u |
||||
real(kind=8) dimension(nx,ny),intent(in),depend(nx,ny) :: v |
||||
integer, optional,intent(in),check(shape(wspd,0)==nx),depend(wspd) :: nx=shape(wspd,0) |
||||
integer, optional,intent(in),check(shape(wspd,1)==ny),depend(wspd) :: ny=shape(wspd,1) |
||||
end subroutine dcomputewspd |
||||
subroutine dcomputewdir(wdir,u,v,nx,ny) ! in :_wrffortran:wrf_wind.f90 |
||||
threadsafe |
||||
use wrf_constants, only: deg_per_rad |
||||
real(kind=8) dimension(nx,ny),intent(out,in) :: wdir |
||||
real(kind=8) dimension(nx,ny),intent(in),depend(nx,ny) :: u |
||||
real(kind=8) dimension(nx,ny),intent(in),depend(nx,ny) :: v |
||||
integer, optional,intent(in),check(shape(wdir,0)==nx),depend(wdir) :: nx=shape(wdir,0) |
||||
integer, optional,intent(in),check(shape(wdir,1)==ny),depend(wdir) :: ny=shape(wdir,1) |
||||
end subroutine dcomputewdir |
||||
end interface |
||||
end python module _wrffortran |
||||
|
||||
! This file was auto-generated with f2py (version:2). |
||||
! See http://cens.ioc.ee/projects/f2py2e/ |
@ -1,3 +1,3 @@
@@ -1,3 +1,3 @@
|
||||
numpy>=1.11 |
||||
wrapt>=1.10 |
||||
setuptools>=38.0 |
||||
wrapt |
||||
setuptools |
||||
|
@ -1,2 +1,2 @@
@@ -1,2 +1,2 @@
|
||||
__version__ = "1.2.0" |
||||
__version__ = "1.3.0" |
||||
|
||||
|
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 216 KiB |
After Width: | Height: | Size: 238 KiB |
After Width: | Height: | Size: 215 KiB |
After Width: | Height: | Size: 237 KiB |
After Width: | Height: | Size: 184 KiB |
After Width: | Height: | Size: 178 KiB |
After Width: | Height: | Size: 156 KiB |
After Width: | Height: | Size: 120 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 156 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 316 KiB |
After Width: | Height: | Size: 284 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 185 KiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 160 KiB |
After Width: | Height: | Size: 145 KiB |
After Width: | Height: | Size: 192 KiB |
After Width: | Height: | Size: 191 KiB |
After Width: | Height: | Size: 172 KiB |
After Width: | Height: | Size: 92 KiB |
After Width: | Height: | Size: 166 KiB |
After Width: | Height: | Size: 142 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 97 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 103 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 103 KiB |