Skip to content

Weird Capgen fortran parsing error? #757

@dustinswales

Description

@dustinswales

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.

Metadata

Metadata

Assignees

Labels

bugFor issues describing bugs, or PRs fixing bugscapgenbugs, requests, etc. that involve ccpp_capgen

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions