Skip to content

Commit

Permalink
Converted many docblocks to doxygen format, turned on doxygen build i…
Browse files Browse the repository at this point in the history
…n CI (#222)

* converting some documentation blocks to doxygen

* added doxygen build to CI

* fixed CALRAD_WCLOUD_newcrtm.f

* fixed SELECT_CHANNELS.f
  • Loading branch information
edwardhartnett committed Nov 16, 2020
1 parent 4452859 commit 2ee9d17
Show file tree
Hide file tree
Showing 92 changed files with 4,402 additions and 4,425 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ jobs:
sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config
sudo apt-get install libpng-dev
sudo apt-get install libjpeg-dev
sudo apt-get install doxygen
- name: checkout-jasper
uses: actions/checkout@v2
Expand Down Expand Up @@ -56,7 +57,7 @@ jobs:
run: |
cd post
mkdir build && cd build
cmake .. -DCMAKE_PREFIX_PATH=~
cmake .. -DCMAKE_PREFIX_PATH=~ -DENABLE_DOCS=ON
make -j2
Expand Down
1 change: 1 addition & 0 deletions docs/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -691,6 +691,7 @@ QUIET = NO
# The default value is: YES.

WARNINGS = YES
WARN_AS_ERROR = YES

# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
Expand Down
66 changes: 25 additions & 41 deletions sorc/ncep_post.fd/ALLOCATE_ALL.f
Original file line number Diff line number Diff line change
@@ -1,45 +1,29 @@
!!!@PROCESS NOEXTCHK
SUBROUTINE ALLOCATE_ALL()
!$$$ SUBPROGRAM DOCUMENTATION BLOCK
! . . .
! SUBPROGRAM: MPI_FIRST SET UP MESSGAE PASSING INFO
! PRGRMMR: TUCCILLO ORG: IBM
!
! ABSTRACT:
! SETS UP MESSAGE PASSING INFO
! .
!
! PROGRAM HISTORY LOG:
! 00-01-06 TUCCILLO - ORIGINAL
! 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT
! 02-06-19 MIKE BALDWIN - WRF VERSION
! 11-12-16 SARAH LU - MODIFIED TO INITIALIZE AEROSOL FIELDS
! 12-01-07 SARAH LU - MODIFIED TO INITIALIZE AIR DENSITY/LAYER THICKNESS
! 15-07-04 SARAH LU - MODIFIED TO INITIALIZE SCA
! 15-07-21 Jun Wang - Add scavenging for DU, SS, OC, BC, remove
! SU diagnostic fields
! 19-07-24 Li(Kate) Zhang - Merge and update NGAC UPP for FV3-Chem
! 19-11-23 Wen Meng - Add sea ice skin T
!
! USAGE: CALL MPI_FIRST
! INPUT ARGUMENT LIST:
!> @file
!
! OUTPUT ARGUMENT LIST:
!
! OUTPUT FILES:
! STDOUT - RUN TIME STANDARD OUT.
!
! SUBPROGRAMS CALLED:
! PARA_RANGE
! UTILITIES:
! NONE
! LIBRARY:
! COMMON - CTLBLK.comm
!
! ATTRIBUTES:
! LANGUAGE: FORTRAN
! MACHINE : IBM RS/6000 SP
!$$$
!> SET UP MESSGAE PASSING INFO
!! @author TUCCILLO ORG: IBM
!!
!! PROGRAM HISTORY LOG:
!! - 00-01-06 TUCCILLO - ORIGINAL
!! - 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT
!! - 02-06-19 MIKE BALDWIN - WRF VERSION
!! - 11-12-16 SARAH LU - MODIFIED TO INITIALIZE AEROSOL FIELDS
!! - 12-01-07 SARAH LU - MODIFIED TO INITIALIZE AIR DENSITY/LAYER THICKNESS
!! - 15-07-04 SARAH LU - MODIFIED TO INITIALIZE SCA
!! - 15-07-21 Jun Wang - Add scavenging for DU, SS, OC, BC, remove
!! SU diagnostic fields
!! - 19-07-24 Li(Kate) Zhang - Merge and update NGAC UPP for FV3-Chem
!! - 19-11-23 Wen Meng - Add sea ice skin T
!!
!! OUTPUT FILES:
!! - STDOUT - RUN TIME STANDARD OUT.
!!
!! SUBPROGRAMS CALLED:
!! - para_range()
!! LIBRARY:
!! - COMMON - CTLBLK.comm
!!
SUBROUTINE ALLOCATE_ALL()
!
use vrbls4d
use vrbls3d
Expand Down
158 changes: 80 additions & 78 deletions sorc/ncep_post.fd/AVIATION.f
Original file line number Diff line number Diff line change
@@ -1,83 +1,85 @@

!> @file
!
!>
!! . . .
!! SUBPROGRAM: CALLLWS COMPUTES Low Level Wind Shear (0-2000feet)
!! PRGRMMR: Binbin Zhou /NCEP/EMC DATE: 2005-08-16
!! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT
!!
!! ABSTRACT:
!! This program computes the low level wind shear(LLWS) over 0-2000 feet (0-609.5m)
!! layer. But because 10m wind represent sfc wind, 10-619.5 m layer
!! is used. (NOAA/NWS Instruction 10-813, 2004)
!!
!! Definition: LLWS(Z1,Z2) is vector difference of wind at z1 and z2
!! where Z1 = 10m + Surface height
!! Z2 = 619.5 + Surface height
!!
!! Algorithm: since Z2 is not defined in the model, so,
!! first thing is searching Z2 to see which layers
!! it is located(ie between which two pressure levels),
!! then find the wind vector (U2,V2)at Z2 by interpolating with
!! the wind vectors of the at pressure levels above and below
!! then compute the vector difference between Z2 and Z1 (ie U10,V10)
!!
!!
!!
!!<pre>
!! ----------------------------------------- K2-1 ---------------------
!! ^
!! |
!! |
!! |
!! ____ | _____ Z2, U2=interpo[U(K2),U(K2-1)]
!! ^ | V2=interpo[V(K2),V(K2-1)]
!! | |
!! ------------|---------|------------------ K2 ------------------------
!! | |
!! | |DH=SUM of all layers between K1-1 & K2-1
!! | | .
!! |609.5m | .
!! |(2000ft) | .
!! | v
!! ------------|---------------------------------------------------- LSM-2
!! | ^
!! | |ZH1
!! | |
!! o-o 10m ___v__ Z1,U10,V10
!! FIS ....|..... ^
!! ^ . . |
!! --|-------------------------|------------ K1 -------------------- LSM-1
!! | . . |
!! |. . |
!! .| ... |
!! --|-------------------------|------------------------------------- LSM
!! . | |
!! ////////////////////////////////////////////////////////////////// Sea Level
!!</pre>
!!
!!
!! USAGE: CALL CALLLWS(U,V,H,LLWS)
!! INPUT ARGUMENT LIST:
!! U - U wind profile (m/s) (at pressure level)
!! V - V wind (m/s) (at pressure level)
!! H - Height (m) (at pressure level)
!!
!! OUTPUT ARGUMENT LIST:
!! LLWS - Low level wind shear (Knots/2000ft)
!!
!! OUTPUT FILES:
!! NONE
!!
!! SUBPROGRAMS CALLED:
!! UTILITIES:
!! LIBRARY:
!! NONE
!!
!! ATTRIBUTES:
!! LANGUAGE: FORTRAN 90/77
!! MACHINE : BLUE AT NCEP
!!
SUBROUTINE CALLLWS(U,V,H,LLWS)
!$$$ SUBPROGRAM DOCUMENTATION BLOCK
! . . .
! SUBPROGRAM: CALLLWS COMPUTES Low Level Wind Shear (0-2000feet)
! PRGRMMR: Binbin Zhou /NCEP/EMC DATE: 2005-08-16
! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT

!
! ABSTRACT:
! This program computes the low level wind shear(LLWS) over 0-2000 feet (0-609.5m)
! layer. But because 10m wind represent sfc wind, 10-619.5 m layer
! is used. (NOAA/NWS Instruction 10-813, 2004)
!
! Definition: LLWS(Z1,Z2) is vector difference of wind at z1 and z2
! where Z1 = 10m + Surface height
! Z2 = 619.5 + Surface height
!
! Algorithm: since Z2 is not defined in the model, so,
! first thing is searching Z2 to see which layers
! it is located(ie between which two pressure levels),
! then find the wind vector (U2,V2)at Z2 by interpolating with
! the wind vectors of the at pressure levels above and below
! then compute the vector difference between Z2 and Z1 (ie U10,V10)
!
!
!
!
! ----------------------------------------- K2-1 ---------------------
! ^
! |
! |
! |
! ____ | _____ Z2, U2=interpo[U(K2),U(K2-1)]
! ^ | V2=interpo[V(K2),V(K2-1)]
! | |
! ------------|---------|------------------ K2 ------------------------
! | |
! | |DH=SUM of all layers between K1-1 & K2-1
! | | .
! |609.5m | .
! |(2000ft) | .
! | v
! ------------|---------------------------------------------------- LSM-2
! | ^
! | |ZH1
! | |
! o-o 10m ___v__ Z1,U10,V10
! FIS ....|..... ^
! ^ . . |
! --|-------------------------|------------ K1 -------------------- LSM-1
! | . . |
! |. . |
! .| ... |
! --|-------------------------|------------------------------------- LSM
! . | |
! ////////////////////////////////////////////////////////////////// Sea Level
!
!
! USAGE: CALL CALLLWS(U,V,H,LLWS)
! INPUT ARGUMENT LIST:
! U - U wind profile (m/s) (at pressure level)
! V - V wind (m/s) (at pressure level)
! H - Height (m) (at pressure level)
!
! OUTPUT ARGUMENT LIST:
! LLWS - Low level wind shear (Knots/2000ft)
!
! OUTPUT FILES:
! NONE
!
! SUBPROGRAMS CALLED:
! UTILITIES:
! LIBRARY:
! NONE
!
! ATTRIBUTES:
! LANGUAGE: FORTRAN 90/77
! MACHINE : BLUE AT NCEP
!$$$
!
USE vrbls2d, only: fis, u10, v10
use params_mod, only: gi
Expand Down
128 changes: 65 additions & 63 deletions sorc/ncep_post.fd/BNDLYR.f
Original file line number Diff line number Diff line change
@@ -1,68 +1,70 @@
!> @file
!
!>
!!
!! SUBPROGRAM: BNDLYR COMPUTES CONSTANT MASS MEAN FIELDS
!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-01-29
!!
!! ABSTRACT: THIS ROUTINE COMPUTES CONSTANT MASS (BOUNDARY LAYER)
!! FIELDS. THE FIELDS ARE A MEAN OVER LAYERS PARAMETER DPBND
!! (PASCALS) THICK. THERE ARE NBND CONSTANT MASS LAYERS, EACH
!! DPBND THICK STARTING FROM THE SURFACE UP. COMPUTED BOUNDARY
!! LAYER FIELDS ARE PRESSURE, TEMPERATURE, SPECIFIC HUMIDITY,
!! RELATIVE HUMIDITY, U AND V WINDS, VERTICAL VELOCITY,
!! AND PRECIPITABLE WATER. GIVEN THESE FUNDAMENTAL VARIABLES
!! OTHER FIELDS MAY BE COMPUTED.
!!
!! ***WARNING*** IF YOU CHANGE PARAMETER NBND IN THIS ROUTINE
!! DON'T FOREGET TO CHANGE IT ALSO IN THE CALLING
!! SUBPROGRAM, MISCLN.
!!
!! PROGRAM HISTORY LOG:
!! 93-01-29 RUSS TREADON
!! 93-05-07 RUSS TREADON - ADDED DOC BLOCK AND MORE COMMENTS.
!! 93-06-19 RUSS TREADON - ADDED LVLBND TO PARAMETER LIST.
!! 96-03-07 MIKE BALDWIN - CHANGE PWTR CALC TO INCLUDE CLD WTR
!! SPEED UP CODE
!! 98-06-16 T BLACK - CONVERSION FROM 1-D TO 2-D
!! 98-08-18 MIKE BALDWIN - CHANGE QSBND TO RHBND IN CALL,
!! COMPUTE RH OVER ICE
!! 98-12-22 MIKE BALDWIN - BACK OUT RH OVER ICE
!! 00-01-04 JIM TUCCILLO - MPI VERSION
!! 02-01-15 MIKE BALDWIN - WRF VERSION
!!
!! USAGE: CALL BNDLYR(PBND,TBND,QBND,RHBND,UBND,VBND,
!! WBND,OMGBND,PWTBND,QCNVBND)
!!
!! INPUT ARGUMENT LIST:
!! NONE
!!
!! OUTPUT ARGUMENT LIST:
!! PBND - LAYER MEAN PRESSURE IN NBND BOUNDARY LAYERS (NBL).
!! TBND - LAYER MEAN TEMPERATURE IN NBL.
!! QBND - LAYER MEAN SPECIFIC HUMIDITY IN NBL.
!! RHBND - LAYER MEAN RELATIVE HUM. (QBND/QSBND) IN NBL.
!! UBND - LAYER MEAN U WIND COMPONENT IN NBL.
!! VBND - LAYER MEAN V WIND COMPONENT IN NBL.
!! WBND - LAYER MEAN W WIND COMPONENT IN NBL.
!! OMGBND - LAYER MEAN VERTICAL VELOCITY IN NBL.
!! PWTBND - LAYER PRECIPITABLE WATER IN NBL.
!! LVLBND - ETA LAYER AT MIDPOINT OF NBL.
!! QCNVBND - LAYER MOISTURE CONVERGENCE IN NBL.
!!
!! OUTPUT FILES:
!! NONE
!!
!! SUBPROGRAMS CALLED:
!! UTILITIES:
!!
!! LIBRARY:
!!
!! ATTRIBUTES:
!! LANGUAGE: FORTRAN 90
!! MACHINE : CRAY C-90
!!
SUBROUTINE BNDLYR(PBND,TBND,QBND,RHBND,UBND,VBND, &
WBND,OMGBND,PWTBND,QCNVBND,LVLBND)
!$$$ SUBPROGRAM DOCUMENTATION BLOCK
! . . .
! SUBPROGRAM: BNDLYR COMPUTES CONSTANT MASS MEAN FIELDS
! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-01-29
!
! ABSTRACT: THIS ROUTINE COMPUTES CONSTANT MASS (BOUNDARY LAYER)
! FIELDS. THE FIELDS ARE A MEAN OVER LAYERS PARAMETER DPBND
! (PASCALS) THICK. THERE ARE NBND CONSTANT MASS LAYERS, EACH
! DPBND THICK STARTING FROM THE SURFACE UP. COMPUTED BOUNDARY
! LAYER FIELDS ARE PRESSURE, TEMPERATURE, SPECIFIC HUMIDITY,
! RELATIVE HUMIDITY, U AND V WINDS, VERTICAL VELOCITY,
! AND PRECIPITABLE WATER. GIVEN THESE FUNDAMENTAL VARIABLES
! OTHER FIELDS MAY BE COMPUTED.
!
! ***WARNING*** IF YOU CHANGE PARAMETER NBND IN THIS ROUTINE
! DON'T FOREGET TO CHANGE IT ALSO IN THE CALLING
! SUBPROGRAM, MISCLN.
! .
!
! PROGRAM HISTORY LOG:
! 93-01-29 RUSS TREADON
! 93-05-07 RUSS TREADON - ADDED DOC BLOCK AND MORE COMMENTS.
! 93-06-19 RUSS TREADON - ADDED LVLBND TO PARAMETER LIST.
! 96-03-07 MIKE BALDWIN - CHANGE PWTR CALC TO INCLUDE CLD WTR
! SPEED UP CODE
! 98-06-16 T BLACK - CONVERSION FROM 1-D TO 2-D
! 98-08-18 MIKE BALDWIN - CHANGE QSBND TO RHBND IN CALL,
! COMPUTE RH OVER ICE
! 98-12-22 MIKE BALDWIN - BACK OUT RH OVER ICE
! 00-01-04 JIM TUCCILLO - MPI VERSION
! 02-01-15 MIKE BALDWIN - WRF VERSION
!
! USAGE: CALL BNDLYR(PBND,TBND,QBND,RHBND,UBND,VBND,
! WBND,OMGBND,PWTBND,QCNVBND)
!
! INPUT ARGUMENT LIST:
! NONE
!
! OUTPUT ARGUMENT LIST:
! PBND - LAYER MEAN PRESSURE IN NBND BOUNDARY LAYERS (NBL).
! TBND - LAYER MEAN TEMPERATURE IN NBL.
! QBND - LAYER MEAN SPECIFIC HUMIDITY IN NBL.
! RHBND - LAYER MEAN RELATIVE HUM. (QBND/QSBND) IN NBL.
! UBND - LAYER MEAN U WIND COMPONENT IN NBL.
! VBND - LAYER MEAN V WIND COMPONENT IN NBL.
! WBND - LAYER MEAN W WIND COMPONENT IN NBL.
! OMGBND - LAYER MEAN VERTICAL VELOCITY IN NBL.
! PWTBND - LAYER PRECIPITABLE WATER IN NBL.
! LVLBND - ETA LAYER AT MIDPOINT OF NBL.
! QCNVBND - LAYER MOISTURE CONVERGENCE IN NBL.
!
! OUTPUT FILES:
! NONE
!
! SUBPROGRAMS CALLED:
! UTILITIES:
!
! LIBRARY:
!
! ATTRIBUTES:
! LANGUAGE: FORTRAN 90
! MACHINE : CRAY C-90
!$$$
!
!
use vrbls3d, only: pint, q, uh, vh, pmid, t, omga, wh, cwm
Expand Down
Loading

0 comments on commit 2ee9d17

Please sign in to comment.