Weird Capgen fortran parsing error?
Open
@climbfuji is already working on this.
Since May 13, 2026.
bug
capgen
- Dominant language
- Python
- Stars
- 25
- Forks
- 67
- Avg merge
- 3d 8h
- Merged PRs (30d)
- 2
Description
Description
When parsing sfc_diff.f, something strange happens.
All of the scheme arguments are skipped, but the trailing comment in the first line of subroutine call is registered as an argument, ['& !intent(in']
Syntax error: Invalid dummy argument, 'ivegsrc', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:88
Syntax error: Invalid dummy argument, 'sfc_z0_type', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:89
Syntax error: Invalid dummy argument, 'use_oceanuv', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:90
Syntax error: Invalid dummy argument, 'vegtype', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:92
Syntax error: Invalid dummy argument, 'redrag', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:94
Syntax error: Invalid dummy argument, 'flag_iter', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:95
Syntax error: Invalid dummy argument, 'dry', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:95
Syntax error: Invalid dummy argument, 'icy', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:95
Syntax error: Invalid dummy argument, 'flag_lakefreeze', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:96
Syntax error: Invalid dummy argument, 'wet', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:97
Syntax error: Invalid dummy argument, 'thsfc_loc', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:99
Syntax error: Invalid dummy argument, 'u10m', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:101
Syntax error: Invalid dummy argument, 'v10m', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:101
Syntax error: Invalid dummy argument, 'u1', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:102
Syntax error: Invalid dummy argument, 'v1', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:102
Syntax error: Invalid dummy argument, 'usfco', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:103
Syntax error: Invalid dummy argument, 'vsfco', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:103
Syntax error: Invalid dummy argument, 'ps', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 't1', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 'q1', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 'z1', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 'garea', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 'prsl1', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 'prslki', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 'prsik1', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 'prslk1', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 'wind', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 'sigmaf', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 'shdmax', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 'z0pert', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 'ztpert', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:105
Syntax error: Invalid dummy argument, 'lakefrac', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:109
Syntax error: Invalid dummy argument, 'fice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:110
Syntax error: Invalid dummy argument, 'tskin_wat', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:111
Syntax error: Invalid dummy argument, 'tskin_lnd', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:111
Syntax error: Invalid dummy argument, 'tskin_ice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:111
Syntax error: Invalid dummy argument, 'tsurf_wat', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:111
Syntax error: Invalid dummy argument, 'tsurf_lnd', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:111
Syntax error: Invalid dummy argument, 'tsurf_ice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:111
Syntax error: Invalid dummy argument, 'z0rl_wav', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:115
Syntax error: Invalid dummy argument, 'z0rl_wat', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'z0rl_lnd', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'z0rl_ice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'ustar_wat', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'ustar_lnd', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'ustar_ice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'cm_wat', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'cm_lnd', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'cm_ice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'ch_wat', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'ch_lnd', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'ch_ice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'rb_wat', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'rb_lnd', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'rb_ice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'stress_wat', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'stress_lnd', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'stress_ice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'fm_wat', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'fm_lnd', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'fm_ice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'fh_wat', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'fh_lnd', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'fh_ice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'fm10_wat', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'fm10_lnd', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'fm10_ice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'fh2_wat', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'fh2_lnd', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'fh2_ice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'ztmax_wat', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'ztmax_lnd', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'ztmax_ice', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:116
Syntax error: Invalid dummy argument, 'zvfun', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:128
Syntax error: Invalid dummy argument, 'errmsg', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:130
Syntax error: Invalid dummy argument, 'errflg', at /glade/work/dswales/SCM/CI/meta_to_source_comp/ccpp-scm/ccpp/physics/physics/SFC_Layer/UFS/sfc_diff.f:131
Missing local_variables, ['& !intent(in'] in sfc_diff_run
If I remove the trailing comment at the top of the subroutine (line 57), the error vanishes. This was discovered by chance.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.